[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] [an error occurred while processing this directive]

Отправлено kons 17 января 2002 г. 13:53
В ответ на: вопрос по доступу двух процессоров к общей памяти отправлено yes 17 января 2002 г. 13:32

Алгоритм:
- передатчик проверяет флаг, и дожидается, пока приемник обнулит его.
- передатчик пишет данные в буфер, после чего взводит флаг.
- приемник, обнаружив взведенный флаг, читает данные из буфера,после чего обнуляет флаг, чем вновьразрешает передатчику доступ к буферу.
Для двунаправленного обмена проще всего использовать два таких буфера и, соответственно, два флага - каждый для своего направления.
Так что программист прав.

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

Ответы



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

E-mail: info@telesys.ru