Зависает цикл while
- Войдите на сайт для отправки комментариев
День добрый много уважаемая публика
Суть проблемы такая. есть пустой цикл
while(TWIbusy);
TWIbusy это моя переменная. которая во премя работы TWI не равна нулю. При посылки на шину сигнала STOP данная переменная в обработчике прерывания ставится равной 0 и следовательно условие уже не выполняется. цикл должен прекратиться. но этого не происходит. Тоже самое с циклом for(;TWIbusy;);
Что интересно. Из прерывания я вывожу в порт значение переменной когда он ее обнуляет. И это действительно происходит. Если цикл сделать не пустой. а скажем воткнуть в тело Serial.print( TWIbusy);
то все хорошо. как только обработчик прерывания обнуляет значение данной переменной цикл прекращается. но стоит его оставить пустым(хотя я пробовал и бесполезные вычисления внутрь ставить) то он зависает намертво. пока не выведешь что то в порт. Подскажите в чем причина может быть? могу весь скеч скинуть
плата Arduino Uno если это важно
ну конечно код покажите
69-71 строка это тот самый цикл. стоит вывод в порт убрать на нем все зависает
в 212 строке вывод в порт информации из обработчика прерывания который ставит TWIbusy в ноль
Это происходит четко
Благодарю. Работает