[uquote="VladislavS",url="/forum/viewtopic.php?p=3483424#p3483424"]Да, если она ничего не делает - выкинет.[/uquote]
Теоретик из вас, походу, никудышный.
Код: Выделить всё
void custom_delay(unsigned int delay) {
while(--delay) __NOP();
}
//...
while (1) {
if ((GPIOA->BSRR = GPIO_BSRR_BS_0, 1) && (custom_delay(0x01FFFFFF), 1) && (GPIOA->BSRR = GPIO_BSRR_BR_0, 1) && (custom_delay(0x01FFFFFF), 1));
}
IAR 8, оптимизация HIGH/SIZE:
Код: Выделить всё
\ 0x72 0x.... LDR R6,??DataTable2_3 ;; 0x1ffffff
101 while (1) {
102 if ((GPIOA->BSRR = GPIO_BSRR_BS_0, 1) && (custom_delay(0x01FFFFFF), 1) && (GPIOA->BSRR = GPIO_BSRR_BR_0, 1) && (custom_delay(0x01FFFFFF), 1));
\ ??main_0: (+1)
\ 0x74 0x61AC STR R4,[R5, #+24]
\ 0x76 0x0030 MOVS R0,R6
\ 0x78 0x.... 0x.... BL custom_delay
\ 0x7C 0x0420 LSLS R0,R4,#+16
\ 0x7E 0x61A8 STR R0,[R5, #+24]
\ 0x80 0x0030 MOVS R0,R6
\ 0x82 0x.... 0x.... BL custom_delay
\ 0x86 0xE7F5 B ??main_0
Весь код ответственный за блинк на месте. Это не смотря на то, что у if-а тела нет вовсе.
[uquote="Аlex",url="/forum/viewtopic.php?p=3483427#p3483427"]Не проще было сделать ф-ию
delay возвращаемой
true и не городить такой огород со скобками и запятыми ?[/uquote]
И что это даст кроме ощущения преемственности поколений?
[uquote="ARV",url="/forum/viewtopic.php?p=3483447#p3483447"]как мною и ожидалось, очередной пример того, как запятая помогает выстрелить в ногу.[/uquote]
Фиг с ней с ногой. Голову берегите.