как инвертировать состояние выхода Txd Atbanned62
Задача такая:
Нужно изначально инвертировать вывод TXD, затем вернуться к нормальному состоянию и провести обмен по каналу Rs232, а потом снова инвертировать эту ногу до следующего сеанса обмена.
как инвертировать состояние выхода Txd Atbanned62
Сообщений 1 страница 3 из 3
Поделиться12008-08-04 21:42:01
Поделиться22008-08-05 13:56:22
Попробуй аппаратно - с помощью логического элемента, который будешь активировать в нужное время.
Поделиться32008-08-05 14:51:50
Спасибо за ответ.
Имея в распоряжении такой гибкий аппарат как МК использовать дополнительную логику некрасиво.
Я использовал отключение TXD способом из справки Bascom:
*****************************************************************
The UCR register will by default not set bits 3 and 4 that enable the TXD and RXD pins for RS-232 communication. It is however reported that this not works for all chips. In this case you must clear the bits in the UCR register with the following statements:
RESET UCR.3
RESET UCR.4
or as an alernative : UCR=0
*****************************************************************
На симуляторе все работает: Произвожу передачу через Usart1, Прием данных в Usart0 запускает программу прерывания, которая отключает передатчик Usart1, работает с ногой как с портом вывода, потом заново инициализирую Usart1 и выхожу из прерывания. С реальным МК получается только войти в прерывание , отключить передатчик TXD1, поработать с пином как с портом и все... Из прерывания не выходит. В чем причина?