Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=John=- 20 ноября 2004 г. 20:36
В ответ на: Ответ: отправлено асибо 20 ноября 2004 г. 18:43

А чего его (текст) показывать? Если вставить CLRWDT() (или как там она пишется в соответствующем компиляторе) в прерывание таймера, то вот он, этот текст. А практика...
Писал программу под существующее железо на 51-й, собака была внешняя (там другой и не было), сбрасывалась автоматом при дергании ножками (дерганье совсем по другому поводу, сброс собаки - сопутствующий эффект) в прерывании таймера. Висла программа прекраснейшим образом. Чтобы от этого избавиться, пришлось столь сил положить... И флаги, и и счетчики дополнительные, и запись jump 0 в последнем адресе. Таких примеров можно несколько привести. И примеров, как программа виснет, а прерывания работают (если собаки нет просто). А в остальных паре-тройке сотен программ все прекрасно работает и не виснет. Пересбрасывается от помех - это бывает, но не виснет. Хотя там я, да, сбрасываю собаку БЕЗ проверок (ужас, правда).
Тут пару лет назад было довольно продуктивное обсуждение этого вопроса. Предложений было много, но я лично для себя вывел - для задач, не облуживающих что-либо типа ядерной кнопки, достаточно не пихать CLRWDT()в прерывание. Ну и внимательней по тексту - чем таких сбросов меньше - тем лучше. Если можно в цикле не сбрасывать - так и не сбрасывать.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru