Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] RS485

2005-09-19 by Yves Rondeau

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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.