Яrik 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба Не пойму, не работает зават от компаратора в контроллере 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 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба unsigned int Perepoln, Zahvat, Time; лучше (точнее нужно почти всегда) описать как volatile unsigned int Perepoln, Zahvat, Time; Ну это так... а как диагностируется факт неработоспособности захвата ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Яrik 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба Светодиод, на выводе должен засветится, это в железе. Но пробывал и в симуляторах: VMlab, Proteus. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба хотелось бы код поглядеть. Если светодиод зажигаем в основном цикле, то без volatile и не получится. Симуляторы нафик. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Яrik 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба Светодиод зажигаю в прерывании, установкой нуля на выводе PD0. Симуляторы нафик. Они что так часто брешут, что не стоит ими пользоваться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба Перифирию симулируют плохо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
libricon 0 7 января, 2008 Опубликовано 7 января, 2008 · Жалоба код в студию .. вообще симуляторы порой зло, я мегу 8 в протеусе какраз компоратор симулировал. ( асма правда ) но тоже самое было, типо не пашет и не пашет.... потом оказалось все пашет просто симялтор некорректно работал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба Они что так часто брешут, что не стоит ими пользоваться? Помню дал студентам задание в PROTEUSe разобраться с компаратором на Atmega8535. Все работает нормально но при подключении мультиплексера не работает(сам потом сидел проверял). Такое впечатление что в модели просто нет мультиплексера. (АЦП через мультиплексер не пробывал) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба Соберите макетку и не мучайтесь - очень сильно избавляет от проблем такого рода... Сам по началу ОЧЕНЬ сильно удивлялся - но потом пересел на железо - и всё пошло как по маслу. А есчё если житаг-подобный отладчик какой нибудь к макетке присобачите - верх счастия... Так что кидайте вы эти симуляторы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Goodefine 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба У меня при моделировании Меги16 в Протеусе 7.2, не вызывалось прерывание от схемы захвата таймера Т1 при срабатывании компаратора. Компаратор срабатывает, но захват не работает... В железе все идеально. А промучился долго. Сделал вывод, что модель некорректная - по мелочам то ладно, идеального ничего нет, но у меня на этом вся работа строилась... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Яrik 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба код в студию .. вообще симуляторы порой зло, я мегу 8 в протеусе какраз компоратор симулировал. ( асма правда ) но тоже самое было, типо не пашет и не пашет.... потом оказалось все пашет просто симялтор некорректно работал. Точно, полное зло. Мало того, что компаратор не пашет, так еще выскакивают ошибки: что то про невозможность произвести симуляцию, про большой шаг времени (step). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
libricon 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба это в протеусе? такого рода ошибки у меня вылетали даже когда код код написан некорректно, пример забыл стек инициализировать ( не кидайте в меня тапок :)) вроде работает ( пока одно вложение только было ) включил в протеусе , хоп хоп, проц на 100 % мой ... потмо ошибка времени.... + были такого рода ошибки при некорректныз подключениях, еще надо винмательно смотреть на красный и синий цвет в проводе, и серый .... ибо было несколько раз, подключил, там серый, а должен быть красный, поставл синий диод стал красный ... короче доверять не стоит, я предпочитаю в камень заливать, джига нету , но посмотрев внимательно и подумал часто можно догадатся что произошло . логику с авр студии проверить можно, ибо там довольно правенльо все отображается ( где то видел что студия таймеры с делителями неверно симулировала. текущая версия по прежнему этим страдает, низнаете? ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться