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

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

Отправлено Andy Mozzhevilov 26 сентября 2002 г. 09:22
В ответ на: кратко: отправлено Andy Mozzhevilov 26 сентября 2002 г. 09:04

Низовой драйвер CAN постоен без использования сервисов RTOS и в принципе может быть использован и в foreground/background системе. Едиственное, что в нем сделано - это вызов OS_Int_Enter() при входе в прерывания (чтобы не забыть нигде это сделать позднее). Низовой драйвер предоставляет API для настройки CAN-контроллера: назначение ID, масок, разрешение/запрещение буферов, запуск передачи, настройка hook-функций-перехватов при приеме фреймов, окончании передачи и изменении состояния CAN-шины.
Далее CK. Для Fujitsu он у меня получился платформенно-зависимым, поскольку заманчиво было использовать буфер CAN, как эквивалент папки CK, чтобы фильтрация сообщений происходила аппаратно. 16 папок вполне достаточно в моем приложении.
При приеме сообщений в буфер в прерываниях вызывается настраиваемый пользователем Hook - дальнейшие действия по передаче сообщения нужной задаче и тип используемого для этого сервиса - его дело.
Функция передачи вызывается с уровня задач. Задаче возвращается код выполнения операции. Таймаут предусмотрен. В случае таймаута передача сообщения в CAN абортируется.

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

Ответы



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

E-mail: info@telesys.ru