Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прерывание от аналогового компаратора-?!
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Кастусь Рыжов
Всем привет. Налабал программу на Си для ATmega16 и схему в Протэусе, хочу добиться работы прерывания от аналогового компаратора, но пока безупешно. Выкладываю проект. По прерыванию перестает мигать зеленый диод, и 5 раз мигает красный.Подскажите пожалуйста, что не так написал?
SysRq
Код
PINC = 0xFF;            //pull up
Ошибка. Регистры PINx - read only. Подтяжки включаются не так, см. даташит.

Код
reti();
Ошибка. Не надо этого, т.к. ISR() все сгенерит сам.

Код
int i=0;
while (i==5) { i++; }
Так тело цикла не выполнится ни разу. Если хотите чтобы выполнилось 5 раз, делайте проверку "i < 5". А еще лучше заменить while на for.
Кастусь Рыжов
Цитата(SysRq @ Nov 17 2008, 23:23) *
Код
PINC = 0xFF;            //pull up
Ошибка. Регистры PINx - read only. Подтяжки включаются не так, см. даташит. Спасибо за начставление.

Код
reti();
Ошибка. Не надо этого, т.к. ISR() все сгенерит сам.

Убрал reti() , и правда, не сказалось на работе

Код
int i=0;
while (i==5) { i++; }
Так тело цикла не выполнится ни разу. Если хотите чтобы выполнилось 5 раз, делайте проверку "i < 5". А еще лучше заменить while на for.
Спасибо боьшое за помощь, ддо меня тоже это допёрло, условие иправил и всё сразу заработало , даже с while.

Ну если о компараторе дальше, то есть вопрос. (учу по Книге Евстифеева). Как на практике можно использовать аналоговый компаратор, а точнее его свойства подключать выводы к мультиплексору АЦП, и куда это можно применить? В книге как то не густо написано, у меня слабое представление как это можно использовать. Пробовал подавать разные сигналы с генератора на входы аналогового компаратора, по прерыванию выводил значение бита ACO. Получалось что-то вроде ШИМ., правда еще не уверен, что именно это и получил. Да и вообще кратко можно ли о практическом применении аналогового компаратора в этом ракурсе, или примерчики, ссылку , проект. Всем отозвавшимся заранее спасибо.
GDI
Компаратор он и в африке компаратор и использовать его нужно как компаратор. Например я делал на встроенном компараторе контроль за питанием прибора, когда прибор выключали из сети по прерыванию от компаратора, пока шел разряд емкостей, делалось сохранение переменных в ЕЕПРОМ.
defunct
Цитата(Кастусь Рыжов @ Nov 19 2008, 14:11) *
Ну если о компараторе дальше, то есть вопрос. (учу по Книге Евстифеева). Как на практике можно использовать аналоговый компаратор

Например - хотите измерить частоту сигнала переменного тока с амлитудой 100мв. цепляете сигнал непосредственно на выводы компаратора - и считаете количество прерываний от компаратора за секунду - вуаля никаких усилков и прочих внешних компонент не нужно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.