Вт окт 24, 2017 19:51:57
это явное преобразование типа результата. по умолчанию результат (baud>>8) будет иметь тип unsigned int (по "наибольшему типу операнда, т.е. baud), а в регистры UBRRL/UBRRH надо помещать байт... и автор посчитал, что без явного указания компилятору рассматривать результат сдвига, как беззнаковый байт, правильный результат может быть не достигнут...sibiryak69 писал(а):а точнее не совсем понятно зачем unsigned char заключено в круглые скобки
Чт окт 26, 2017 16:46:31
Чт окт 26, 2017 17:27:19
sibiryak69 писал(а):как по вашему можно было бы записать?
UBRPH = baud>>8;
UBRRL = baud;
Пт окт 27, 2017 16:54:59
sibiryak69 писал(а):как по вашему можно было бы записать?
UBRPH = baud>>8;
UBRRL = baud;
Пт окт 27, 2017 17:57:40
Вс окт 29, 2017 04:39:01
Пн ноя 06, 2017 14:55:29
Пн ноя 06, 2017 15:09:15
как вы себе представляете обработку 25-и аналогичных структур? когда всего 3 переменных, можно обойтись и без структуры, а когда групп по 3 переменных 25 или более?sibiryak69 писал(а):для чего такие сложности и каким образом структуры могут использоваться при программировании микроконтроллеров
Пн ноя 06, 2017 15:13:47
Пн ноя 06, 2017 15:41:36
Вт ноя 07, 2017 19:01:58
Вт ноя 07, 2017 20:01:42
/* считаем транспортный налог :-) */
float nalog (struct автомобиль *a)
{
if (a->мощность <= 100)
return a->мощность * 12.0;
if (a->мощность <= 125)
return a->мощность * 25.0;
...
return a->мощность * 150.0;
}
Чт ноя 09, 2017 22:39:49
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRD = 0b10010000;
PORTD = 0b10010000;
while (1)
{
PORTD = 0b10000000;
_delay_ms(300);
PORTD = 0b00010000;
_delay_ms(300);
}
}
Пт ноя 10, 2017 06:41:12
Пт ноя 10, 2017 07:18:11
Пт ноя 10, 2017 08:36:13
Пт ноя 10, 2017 14:34:16
Пт ноя 10, 2017 16:57:17
Пт ноя 10, 2017 19:37:10
я вполне четко написал, что я имел ввиду. в поле структуры нельзя хранить "порт", но можно хранить "указатель на этот порт", т.е., как я и написал, адрес порта.sibiryak69 писал(а):я так полагаю вы имели в виду регистры PORT и DDR ???
Пт ноя 24, 2017 16:09:13