[En-Nut-Discussion] Bug in half duplex mode

Andrej Taran fant at vinnitsa.com
Mon Aug 28 13:21:21 CEST 2006


Hi  Henrik,


Henrik Maier wrote:
 > I would expect this could stay as it is. Can't see anything wrong 
with this. If there is a reason to move the half-duplex control to 
AvrUsartTxEmpty, can you please explain?
 > In  normal situations TXC is cleared by it's interrupt handler. Why 
do does it need to be cleared here as well?


Packet transmit is all right. But single byte transmit not correct.
When single byte is sent asynchronous several times, every time executed 
AvrUsartTxStart, enable transmit interrupts and executed AvrUsartTxEmpty.
But last byte can be transmitting,  when AvrUsartTxEmpty is executed for 
current byte. AvrUsartTxComplete execute for last byte, after 
AvrUsartTxEmpty is executed for current byte and clear UART_HDX_BIT. And 
current byte  will be spoilt.
Clear TXC and half-duplex control in AvrUsartTxEmpty solves problem.

Regards,
Andrej Taran




More information about the En-Nut-Discussion mailing list