[an error occurred while processing this directive]
Например, так
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Тумблер 10 января 2002 г. 10:59
В ответ на: Как обойти эту проблему? отправлено Незнайка 10 января 2002 г. 09:13


Все процессы в системе синхронизировать с работой таймера
(например 250 мкс),другие прерывания не использовать.
Опрашивать/считывать содержимое из UART прямо из процедуры
прерывания таймера в кольцевой буфер. (раз 250 мкс, значит 9600 бод
точно примем правильно).
Синхронизируем также все битовые операции с DS-ом с эти тиком "250мкс". Это можно из фоновой программы. Фоновая программа
также смотрит за содержимым кольцевого буфера, получает от туда
байты, декодирует и.т.д.
В системе есть только одно прерывание, которое никогда не запрещаетя
(вроде и нужды нет) и вообще все просто.
:)

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

Ответы



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

E-mail: info@telesys.ru