MODSERIAL with support for more devices
Fork of MODSERIAL by
Diff: PUTC.cpp
- Revision:
- 12:8c7394e2ae7f
- Parent:
- 9:b3cdae80e7a9
- Child:
- 14:3c3b87617bfe
--- a/PUTC.cpp Wed Nov 24 00:33:40 2010 +0000 +++ b/PUTC.cpp Thu Jan 20 11:57:32 2011 +0000 @@ -42,6 +42,7 @@ } else { if (block) { + uint32_t ier = _IER; _IER = 1; while ( MODSERIAL_TX_BUFFER_FULL ) { // Blocks! // If putc() is called from an ISR then we are stuffed // because in an ISR no bytes from the TX buffer will @@ -55,6 +56,7 @@ // are blocking. isr_tx(false); } + _IER = ier; } else if( MODSERIAL_TX_BUFFER_FULL ) { buffer_overflow[TxIrq] = c; // Oh dear, no room in buffer.