Hello , I had the same problem on ISO7816 communication. At the end of TX I switch back in input mode then lost the 2 last bytes. Add those lines at the end of your TX routines while (!(U1LSR & 0x40)); /* Wait if U1THR & U1TSR not empty */ /* we need to wait for the 2 Tx Buffer */ /* to be empty */ /* or we can lost the 2 bytes switching */ /* in input */ PINSEL0 = 0x00040000; /* RX UART1 Enable -TX Disable */ Yves -----Original Message----- From: lpc2000@yahoogroups.com [mailto:lpc2000@yahoogroups.com] On Behalf Of gfaurie1 Sent: segunda-feira, 19 de Setembro de 2005 7:44 To: lpc2000@yahoogroups.com Subject: [lpc2000] RS485 Hello, I try to develop a RS485 driver, but i have a problem. As you know, you must stay in reception and when you have to transmit, you change direction to be in transmission only during transmission. When the last character has been transmitted you turn back in reception. Problem is that i have no interruption on shift register empty. I have an interruption when transmitter is empty but if i change direction at this time, character which is in shift register is not transmitted, and i lose it. The only solution that i suppose is to check state of shist register (LSR) in polling but i'd like to find a more real time solution Who can help me ? Thank Yahoo! Groups Links
Message
RE: [lpc2000] RS485
2005-09-19 by Yves Rondeau
Attachments
- No local attachments were found for this message.