Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

ATmega16 сторожевой таймер

Список форумов» Программное обеспечение» Микроконтроллеры
АвторСообщение
SEREGA82
Новичок
Сообщения: 19




03-02-2011 14:19

Доброго времени суток! Помогите, пожалуйста, разобраться начинающему со сторожевым таймером в Atmega16. Написал программу на Си в CVAVR. Симулировал в VMLAB. Симулятор постоянно ругается на сторожевой таймер. Пробовал отключать его, как в Даташите, Результат тот же. Если не учитывать WDT, программа работает как надо. Но терзают сомнения: когда я зашью программу в контроллер, будет ли она работать? Как в реальности решают этот вопрос? Заранее спасибо!
pavel-pervomaysk
Your editor
Сообщения: 8052




03-02-2011 14:41

Нормальные люди тестируют на железе с логичемкис анализатором, извращенцы на всяких симуляторах.
GarikBaza
Новичок
Сообщения: 664




03-02-2011 16:54

SEREGA82, Выкинь VMLAB, купи мегу16, поставь на макетку, и симулируй хоть до всира.....
SEREGA82
Новичок
Сообщения: 19




04-02-2011 06:42

Спасибо за совет! Дабы не стать извращенцем, сделаю как вы сказали. улыбка
Murka
Профессор
Сообщения: 2382




13-02-2011 21:28

GarikBaza, VMLAB прав!!!! а вот CVAVR следует выкинуть, ну или как я делаю hex редактором подправляю exe_шник, устраняя инициализацию "собаки".
Однако это надоело и я перешел на IAR.
pavel-pervomaysk
Your editor
Сообщения: 8052




13-02-2011 22:13

Murka, эмулятор - отстой. И хоть до усира доказывай обротное.
Murka
Профессор
Сообщения: 2382




13-02-2011 22:35

pavel-pervomaysk, А я и не хвалил его, я сказал что компилятор выполняет инициализацию "собаки" без ведома юзера, а эмулятор, об этом сообщает и в этом он прав.
GarikBaza
Новичок
Сообщения: 664




14-02-2011 12:43

Murka, CVAVR с натяжкой можно назвать компилятором. В частности его визард. Его можно использовать когда надо срочно глянуть, как надо настроить ту или иную периферию, когда лень даташит открывать.
По IAR могу сказать одно: "Лучше день потерять, чем потом за 5 мин долететь"(c). Это очень сильный инструмент, и я его использую под разные платформы. Что в нем нравится - все в твоих руках.
По симуляторам. "Не верю!" Какой бы небыл хороший симулятор, он не учитывает мелких деталей. Например разводки. Я ВСЕГДА делаю макетки, и на них проверяю. А потом можно и в серию. А с симулятора в серию я б не рискнул.
Murka
Профессор
Сообщения: 2382




15-02-2011 03:03

GarikBaza писал:
Какой бы небыл хороший симулятор, он не учитывает мелких деталей. Например разводки.
Это когда со строба прерывания лезут? Разработчику в глаз!, а ваще эмулятор эмулирует работу ПО, а не трассировки.
GarikBaza
Новичок
Сообщения: 664




15-02-2011 14:53

Murka, А ПО напрямую зависит от разводки. В эмуляторе работает, а в железе неработает, и трахаешься...
Лучше раз в железе сделать. А ПО я могу и в VS2008 проверить.
Murka
Профессор
Сообщения: 2382




15-02-2011 14:58

GarikBaza, ПО от разводки не зависит или нужно сменить программиста, чесслово такую фигню пишеш, приведи пример!
GarikBaza
Новичок
Сообщения: 664




15-02-2011 15:37

А за ПО я ни слова не сказал. Я говорил за факторы, которые не зависят от ПО
Murka
Профессор
Сообщения: 2382




16-02-2011 00:09

Факторы не зависящие от ПО Vmlab не показывает.
eufs
Участник
Сообщения: 170




16-02-2011 03:41

Я уже приводил пример. Мега 8 (или тини 26 не помню) и индикатор wh0802 соединен по 4х битной шине. При просадке питания срабатывает супервизор в контроллере(АВР), а в дисплее не срабатывет. И, если контроллер не завершил трансяцию очередного байта (то есть передал только половину и сбросился от супрвизора), то стандартными процедурами инициализации дисплей вгоняется в ступор. Я решил проблему, когда в инициализации начал мерять время обработки посылаемых команд дисплеем, и по этим измерениям определил, надо ли лишнюю половинку байта передавать или нет.
Я очень сомневаюсь что какой либо симулятор вообще мог эту ситуацию предугадать.
Murka
Профессор
Сообщения: 2382




16-02-2011 03:54

eufs писал:
И, если контроллер не завершил трансяцию очередного байта
О как! Примерно тем же самым я и занимаюсь прямо сейчас! только вот
eufs писал:
Я очень сомневаюсь что какой либо симулятор вообще мог эту ситуацию предугадать.
симулятор угадывает

  busyLCD.PNG  11,3 КБ  Скачано: 341 раз(а)

pavel-pervomaysk
Your editor
Сообщения: 8052




16-02-2011 08:04

Murka, да на здоровье. Я умею паять и не ленюсь. Помнится как мой проэкт тут обсирали что он не работает на симуляторе, я спросил : А собирали ? Нет ! А вони было гы-гы . Просто в симуляторе никто не смог додуматься что я на тини13 напишу такой чепухи голливудская улыбка . А то что с далласами симулятор не работает это факт. Еще примеры нужны ?
eufs
Участник
Сообщения: 170




16-02-2011 22:11

Murka писал:
eufs писал:
И, если контроллер не завершил трансяцию очередного байта
О как! Примерно тем же самым я и занимаюсь прямо сейчас! только вот
eufs писал:
Я очень сомневаюсь что какой либо симулятор вообще мог эту ситуацию предугадать.
симулятор угадывает


То что симулятор симулирует время обработки команд дисплеем - это понятно. А симулятор засимулирует помеху или просадку по цепям питания, которая сбросит контроллер и не сбросит дисплей?
IMHO, проблемы, лежащие либо в чисто аппаратной части либо на стыке програмной и аппаратной просимулировать достаточно тяжело, а отсюда толк от симуляции резко падает, так как устройство не состоит из одной программы. Невозможно просимулировать реальные условия.
Могу выложить процедуру инициализации, которая определяет хавает дисплей команды или нет и делает так, чтоб хавал.
Murka
Профессор
Сообщения: 2382




17-02-2011 00:29

pavel-pervomaysk, А схема то, не правильная!!!! Посмотри исходник! Внимательно!
eufs писал:
помеху или просадку по цепям питания, которая сбросит контроллер и не сбросит дисплей?
Для этого есть в симуляторе кнопочки.
eufs писал:
Невозможно просимулировать реальные условия.
А реальные условия никто и не симулирует, проверяется работоспособность или выявляются ошибки! Гадать то сложнее.
eufs писал:
Могу выложить процедуру инициализации, которая определяет хавает дисплей команды или нет и делает так, чтоб хавал.
Вот тута описание в pdf, а в тхт реально работающий кусок кода, правда на ужасном Renesas асме, но читаемый. eufs тут именно то о чём ты говориш, но только без функции определения чего он хочет просто тупая переинициализация.
eufs
Участник
Сообщения: 170




17-02-2011 01:51

А почему не выявлять ошибки и проверять работоспособность на реальном устройстве? Его ведь все равно делать. И гадать нечего - спаял и вперед.
Я никак не пойму преимуществ симуляции. Что она конкретно дает разработчику? Чето мне не верится, что после отладки на симуляторе в собранном устройстве в железе ничего не приходиться дорабатывать. Косяки в схемотехнике или конструкции которые часто бывают, в симуляторе все равно вряд-ли видны. Я соглашусь, кое-что можно и в симуляторе повыловить. Но не всё. А раз не всё, то накой хрен он нужен.
Murka
Профессор
Сообщения: 2382




17-02-2011 02:29

eufs, Вышеупомянутый Renesas стоит "миллион денег" и допускает (производитель гарантирует) всего лиш 100 прошивок, ну и скажем стоит задача написать реалтайм СУТП ~1 мсек. Шо будем делать?
eufs
Участник
Сообщения: 170




17-02-2011 20:16

А ренесас разве не допускает отладку в ОЗУ? Помодульно можно отладить, а для сборки 100 раз наверняка должно хватить. Но соглашусь, в таких случаях симулятор, пожалуй, нужен.
Список форумов» Программное обеспечение» Микроконтроллеры» ATmega16 сторожевой таймер
Перейти:  
Текущий раздел» Программное обеспечение» Микроконтроллеры (Микроконтроллеры - AVR-ы, PIC-и и другие)


Похожая информация:
  • Atmega16
  • Чтение и прошивка Atmega16
  • ATmega16 работа USART
  • Сбрасывается EEPROM ATMega16
  • Запуск ATmega16 от резонатора 16мГц








  • Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы
    Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!