Всем привет!
Столкнулся с странной проблемой у процов AT90USB127. Они как бы повисают. Ситуация следующая: В соотвествии с кодом прошивки проц находится в Sleep режиме и по Timer2 просыпаясь проверяет некие условия и если условие удовлетворяет просыпается. Сразу же после пробуждения Timer2 перенастраивается в режим PWM и хардварно "пищит" ногой в буззер на время, которое отсчитывает другой таймер. Далее идёт основнйо код подпрограммы. Так вот ИНОГДА, или даже можно сказать ЧАЩЕ ВСЕГО, всё это действие заканчивается бесконечным писком бузера и всё. Я сначала грешил на код, но код в этом месте на столько прост, что ошибку я даже предположить не могу. Ну и такой болезнью страдает только 2 экземпляра из 20ти доступных мне. Теперь немного наблюдений. Если во время писка передёрнуть пинцетом RESET на проце, то он снова не запустится. И будет тупым куском кирамики с ногами. Запкстится только после "пере-снятия" питания. Опять же, если по время "пищяния" проца попытаться подключиться к нему JTAG или перепрошить ISP, ничего не получится, оне не будет отвечать.
Что это? Могу я как-то по коду вводить проц в это состояние? Почему этому подвержены не все процы?
|