Как в PIC16F877 с аппаратным UART выработать сигнал DIR на передачу для RS485?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено En_Serg 25 июня 2003 г. 20:57

Имею PIC16F877 в котором использую аппаратный UART в асинхронном режиме. На выходе сигналы Tx и RX поступают на драйвер RS-485 MAX3018.
Для переключения режима прием-передача используется RE0. Назовем его сигнал DIR.
Когда slave опознал что обратились к нему, пора передавать данные.

Вопрос вот в чем: как выработать сигнал DIR на передачу, когда устройство хочет ответить, ведь я только заношу данные в TXREG по перерыванию, и они сами сдвигаются и выталкиваются.
Получается, при записи любого байта в буфер передачи TXREG надо запускать внешний(внутренний) одновибратор и свободным таймером отсчитывать время на 10 импульсов (старт,8бит,стоп), держа в это время вывод DIR на передачу?
Не очень удобно, если выбирать скорость программно, то таймер DIR тоже надо менять.
Может как-то по-другому?

P.S. Спасибо всем ответившим на мой вопрос о синхронизации времени в PC и slave.
(в начале каждых новых суток надо подстраивать время,месяц.. в slave(s) )

Спасибо. encov@mail.ru


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

Ответы



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

E-mail: info@telesys.ru