Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает захват от компаратора...
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Яrik
Не пойму, не работает зават от компаратора в контроллере ATmega8L.
Помогите, может неправильно настроил, привожу часть кода? Спасибо.

Код

#include <mega8.h>
unsigned int Perepoln, Zahvat, Time;
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
Perepoln++;
}

interrupt [TIM1_CAPT] void timer1_capt_isr(void)
{
Zahvat=ICR1;
...
}


void main(void)
{
PORTD=0x00;
DDRD=0x00;

TCCR1A=0x00;
TCCR1B=0x41;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

TIMSK=0x24;

ACSR=0x04;
SFIOR=0x00;

#asm("sei")

while (1)
      {
...
      };
}
DASM
unsigned int Perepoln, Zahvat, Time; лучше (точнее нужно почти всегда) описать как volatile unsigned int Perepoln, Zahvat, Time;
Ну это так... а как диагностируется факт неработоспособности захвата ?
Яrik
Светодиод, на выводе должен засветится, это в железе. Но пробывал и в симуляторах: VMlab, Proteus.
DASM
хотелось бы код поглядеть. Если светодиод зажигаем в основном цикле, то без volatile и не получится. Симуляторы нафик.
Яrik
Светодиод зажигаю в прерывании, установкой нуля на выводе PD0.
Цитата
Симуляторы нафик.

Они что так часто брешут, что не стоит ими пользоваться?
DASM
Перифирию симулируют плохо.
Kirill Trusov
код в студию ..

вообще симуляторы порой зло, я мегу 8 в протеусе какраз компоратор симулировал. ( асма правда ) но тоже самое было, типо не пашет и не пашет....
потом оказалось все пашет просто симялтор некорректно работал.
bureau
Цитата(Яrik @ Jan 6 2008, 22:53) *
Они что так часто брешут, что не стоит ими пользоваться?


Помню дал студентам задание в PROTEUSe разобраться с компаратором на Atmega8535. Все работает нормально но при подключении мультиплексера не работает(сам потом сидел проверял). Такое впечатление что в модели просто нет мультиплексера. (АЦП через мультиплексер не пробывал)
Kuzmi4
Соберите макетку и не мучайтесь - очень сильно избавляет от проблем такого рода...
Сам по началу ОЧЕНЬ сильно удивлялся - но потом пересел на железо - и всё пошло как по маслу.
А есчё если житаг-подобный отладчик какой нибудь к макетке присобачите - верх счастия...
Так что кидайте вы эти симуляторы...
Goodefine
У меня при моделировании Меги16 в Протеусе 7.2, не вызывалось прерывание от схемы захвата таймера Т1 при срабатывании компаратора. Компаратор срабатывает, но захват не работает... В железе все идеально. А промучился долго. Сделал вывод, что модель некорректная - по мелочам то ладно, идеального ничего нет, но у меня на этом вся работа строилась...
Яrik
Цитата(Kirill Trusov @ Jan 7 2008, 21:31) *
код в студию ..

вообще симуляторы порой зло, я мегу 8 в протеусе какраз компоратор симулировал. ( асма правда ) но тоже самое было, типо не пашет и не пашет....
потом оказалось все пашет просто симялтор некорректно работал.


Точно, полное зло. Мало того, что компаратор не пашет, так еще выскакивают ошибки: что то про невозможность произвести симуляцию, про большой шаг времени (step).
Kirill Trusov
это в протеусе?

такого рода ошибки у меня вылетали даже когда код код написан некорректно, пример

забыл стек инициализировать ( не кидайте в меня тапок smile.gif) вроде работает ( пока одно вложение только было ) включил в протеусе , хоп хоп, проц на 100 % мой ... потмо ошибка времени....

+ были такого рода ошибки при некорректныз подключениях, еще надо винмательно смотреть на красный и синий цвет в проводе, и серый .... ибо было несколько раз, подключил, там серый, а должен быть красный, поставл синий диод стал красный ...

короче доверять не стоит, я предпочитаю в камень заливать, джига нету , но посмотрев внимательно и подумал часто можно догадатся что произошло .

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