Добрый день, Артем!
Мне кажется, что ошибка не в компиляторе, а в Вашем логическом рассуждении.
Поправьте меня, если я ошибаюсь. На сколько я понял, Вы хотите, чтобы благодаря этому циклу прога замерла на некоторое время в ожидании снятия сигнала с ножки МК.
Иняче говоря, мы ждем, когда снимется сигнал. Но не более одной минуты. В зависимости от того, что наступит раньше (снимется сигнал или кончится время), цикл должен прерваться.
Если это так, то Вам нужно было написать условие следующим образом:
Код
while (((PINA & 0x08) == 0x08) && (i < 60))
{
...
}
Цикл while прервется, когда первое ((PINA & 0x08) == 0x08) или второе (i < 60) подусловие станет ложным. Просто пораскиньте мозгами и всё поймете самостоятельно.
Сообщение отредактировал IgorKossak - Mar 18 2012, 16:31
Причина редактирования: [code] для небольшого кода