|
На самом деле использовать ret вместо reti в данном случае можно, т.к. смотрите код:
sei ; ожидалка
sleep ; <---- вот здесь мы остаёмся при загадочном сбое.
и здесь sei разрешает прерывания.
Суть вопроса в другом - АЦП исправно отрабатывает циклы по приведённой программе, пока входное напряжение (!) не превысит половину опоры.
Дальше происходит что-то непонятное, и девайс виснет на втором цикле (флаг завершения цикла не устанавливается).
Казалось бы, каким образом работа дискретной логики управления АЦП может зависеть от уровня входного сигнала? Мистика да и только.
Тем более, в даташите указано максимальное входное напряжение = Vcc
E-mail: info@telesys.ru