MODSERIAL with support for more devices

Dependents:   1D-Pong BMT-K9_encoder BMT-K9-Regelaar programma_filter ... more

Check the cookbook page for more information: https://mbed.org/cookbook/MODSERIAL

Did you add a device? Please send a pull request so we can keep everything in one library instead of many copies. In that case also send a PM, since currently mbed does not inform of new pull requests. I will then also add you to the developers of this library so you can do other changes directly.

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.