Yes i could do that but i don't want to wait in my interruption routine during character transmission which could be about 1ms (at 9600 baud). ----- Original Message ----- From: "Yves Rondeau" <op173039@...> To: <lpc2000@yahoogroups.com> Sent: Monday, September 19, 2005 11:17 AM Subject: RE: [lpc2000] RS485 > 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 > > > > > > > > > > > > Yahoo! Groups Links > > > > > > > >
Message
Re: [lpc2000] RS485
2005-09-19 by Gilles FAURIE
Attachments
- No local attachments were found for this message.