Мастер Ломастер писал(а):с точки зрения построения надежных программ в условии цикла необходимо как раз контролировать диапазон допустимости значения, а не равенство или неравенство "краю" диапазона.
Согласен. Я как-то отловил багу и получил рукояткой от граблей по лбу. Спалил MOSFET. (Был такой проект с трёхфазным мостом для асинхронника) Цикло не кончалось (применил RTOS) а потом вступил другой процесс, который открыл другой МОСФЕТ и в итоге, я поймал сквозняка в мосту.
По дурости сделал так:
Код: Выделить всё
for (unsigned char a = 0 ; a != 125 ; a++) {....} \\Ну не придурок, а?
А ведь надо было проще:
Код: Выделить всё
for (unsigned char a = 0 ; a < 125 ; a++) {.....}
К ассемблеру это тоже относится:
Код: Выделить всё
MAIN: ldi r16, 0
MAIN_L: inc r16
//Операции с использованием r16 в качестве индекса к указателю.
cpi r16, -245-1
brlo MAIN_L



