Bryan Lendroth

How to disable Rx / Tx Interrupts on 52259 UARTs?

Discussion created by Bryan Lendroth on Jan 6, 2012
Latest reply on Jan 8, 2012 by TomE

I was wondering if MQX supplies any method of disabling/enabling Rx and Tx interrupts on any of its UARTS?  Or do I have to write my own enable and disable routines to access the UART register directly (UIMR)?


We have a circuit that transmits out UART1 to a number of devices that hang off that port (only addressing one device at a time).  We expect a response back from the device being addressed.  The physical Tx and Rx wires that go from UART1 to the devices loop back into UART2.  If a wire breaks between devices, we can detect that and begin to transmit out UART1 to the devices before the wire break.  Then we can transmit out UART2 to the devices after the break.  This ensures we don't lose communication to all devices after the wire break.


The problem is that we cannot allow the transmitting to go out both UARTS at the same time because they are both connected to the same devices.  So we must put UART2 in "receive" mode (with other hardware circuits - thus preventing it from transmitting).  But then if we transmit out UART1, we end up receiving that transmission in UART2, which we want to AVOID.


The simplest way to avoid receiving this data echo is turn OFF the RX Interrupt for UART2 when transmitting out UART1. 


Any simple way to do this?


Thank you,