oran-be
May 30 2007, 18:56
C AVR'ом скучно не бывает... Может кто и сталкивался.
Прикол следующий. Алгоритм работы устройства следующий: после сброса АЦП инициализируется в авто режим постоянного измерения. При выключении питания АЦП выключается и проц переводится в режим power down. После пробуждения АЦП опять инициализируется. Издесь то возникает прикол. Режим автоизмерения запускается через раз. Сам АЦП пашет, т.е. все честно измеряет, прерывание вырабатывает, а в авторежиме молчит, как немой. Такое подозрение, что автомат запуска зависает. Примерно как прикол с TWI, который аппаратно виснет, если при передачи адреса слэйв не выставит АСК. Но TWI еще можно распинать. А этот пока не получилось. Кто нибудь сталкивался с подобной ситуацией?
При выключении питания АЦП выключается и проц переводится в режим power down.
Обьясните пожалста,power down без питания-это как?
oran-be
May 31 2007, 04:12
Power down без питания - это когда могучей рукой дернули рубильник, лампочки все погасли, а на элекктролитическом конденсаторе осталось еще 5 вольт. То есть питания вроде как и нет, но Power down присутствует. Некоторое определенное время, конечно.
oran-be
Jun 2 2007, 05:41
Дальше - круче...
Дальнейшее исследование проблемы, вследствии которого вероятность успешной записи в программную память многострадальной меги16 изрядно уменьшилась, показали, что АЦП на самом деле не виснет, а прекрасно работает, а на самом деле отрубаются прерывания. То есть флаги прерывания( я все не проверял, но в частности прерывание по ватчдогу и по АЦП) прекрасно сбрасываются и выставляются, а ядро в прерывание не входит! Это как?!
oran-be
Jun 2 2007, 15:32
UART - нет. В нормальном режиме используется Таймер 1, АЦП и WDT в режиме таймера. В слипе WDT остается и добавляется еще INT0. Работа от внутреннего RC.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.