Перейти к содержанию
    

Не работает захват от компаратора...

Не пойму, не работает зават от компаратора в контроллере 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)
      {
...
      };
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

unsigned int Perepoln, Zahvat, Time; лучше (точнее нужно почти всегда) описать как volatile unsigned int Perepoln, Zahvat, Time;

Ну это так... а как диагностируется факт неработоспособности захвата ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Светодиод, на выводе должен засветится, это в железе. Но пробывал и в симуляторах: VMlab, Proteus.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хотелось бы код поглядеть. Если светодиод зажигаем в основном цикле, то без volatile и не получится. Симуляторы нафик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Светодиод зажигаю в прерывании, установкой нуля на выводе PD0.

Симуляторы нафик.

Они что так часто брешут, что не стоит ими пользоваться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

код в студию ..

 

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

потом оказалось все пашет просто симялтор некорректно работал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Они что так часто брешут, что не стоит ими пользоваться?

 

Помню дал студентам задание в PROTEUSe разобраться с компаратором на Atmega8535. Все работает нормально но при подключении мультиплексера не работает(сам потом сидел проверял). Такое впечатление что в модели просто нет мультиплексера. (АЦП через мультиплексер не пробывал)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Соберите макетку и не мучайтесь - очень сильно избавляет от проблем такого рода...

Сам по началу ОЧЕНЬ сильно удивлялся - но потом пересел на железо - и всё пошло как по маслу.

А есчё если житаг-подобный отладчик какой нибудь к макетке присобачите - верх счастия...

Так что кидайте вы эти симуляторы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня при моделировании Меги16 в Протеусе 7.2, не вызывалось прерывание от схемы захвата таймера Т1 при срабатывании компаратора. Компаратор срабатывает, но захват не работает... В железе все идеально. А промучился долго. Сделал вывод, что модель некорректная - по мелочам то ладно, идеального ничего нет, но у меня на этом вся работа строилась...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

код в студию ..

 

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

потом оказалось все пашет просто симялтор некорректно работал.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это в протеусе?

 

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

 

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

 

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

 

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

 

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

( где то видел что студия таймеры с делителями неверно симулировала. текущая версия по прежнему этим страдает, низнаете? )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...