Может, не к месту вклинюсь, но, м.б., поможет кому-нибудь... Недавно в спешке пришлось устранять очень редко проявляющийся глюк в проге для PIC18.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Peter K. 23 февраля 2004 г. 17:16
В ответ на: кто нибудь применяет High/Low приоритеты в прерываниях PIC18? (+) отправлено Romario 23 февраля 2004 г. 16:03

Суть задачи - измерялась частота от 0 Гц до 2 КГц на CCP2. Как эталон использовался таймер ТMR3 с периодом 65536 мкс. Очень редко возникала ситуация, когда возникали одновременно прерывания от TMR3IF и CCP2IF. Причем иногда захват CCP2 происходил совсем немного раньше, чем происходило прерывание по TMR3IF, иногда - несколько позже, но процедура прерывания на входе имела оба установленных флага. В итоге в эти редкие моменты вычисляемая частота сильно отличалась от реальной, т.к. происходило опережение или запаздывание в счетчике количества переполнений таймера. С приоритетами возиться времени абсолютно не было. Пришлось разрулить ручками. Был выбран признак, по которому выбиралась последовательность обработки прерываний по TMR3 и CCP2.

Т.е., обошлись без аппаратных приоритетов.

...да и вообще система прерываний у PIC мне не очень нравится...


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

Ответы



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

E-mail: info@telesys.ru