Bill (15.03.2016 13:27 - 13:30, просмотров: 140) ответил Yft на Написал цикл, стало еще хуже, всё поломалось, не могу понять в чем ошибка.
Скорее всего, причина в этом if (!(pinstate & (~bitmask))) {Number_of_bad_wires++;}
А вообще, пишите проще. Я бы написал так:
// Checking 1st wire PORTB - PORTD
bitmask = 0x01;
do {
PORTB = ~bitmask;
_NOP();
if (!(PIND & bitmask))
Number_of_good_wires++;
else
Number_of_bad_wires++;
}
while (bitmask <<= 1);
Или нет?