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.

Committer:
riaancillie
Date:
Sun May 05 14:57:11 2019 +0000
Revision:
46:d2a5e26fd658
Parent:
43:8c8d13e1840b
Added support for target NUCLEO_F103RB

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sissors 39:8ef4f91813fd 1 #ifdef TARGET_KPSDK_MCUS
chaegle 34:e84b8ad1d98b 2 #include "MODSERIAL.h"
chaegle 34:e84b8ad1d98b 3
chaegle 34:e84b8ad1d98b 4 void MODSERIAL::setBase(void ) {
cduck 43:8c8d13e1840b 5 #if DEVICE_SERIAL_ASYNCH
cduck 43:8c8d13e1840b 6 switch( _serial.serial.index ) {
cduck 43:8c8d13e1840b 7 #else
chaegle 34:e84b8ad1d98b 8 switch( _serial.index ) {
cduck 43:8c8d13e1840b 9 #endif
chaegle 34:e84b8ad1d98b 10 case 0: _base = UART0; _IRQ = UART0_RX_TX_IRQn; break;
chaegle 34:e84b8ad1d98b 11 case 1: _base = UART1; _IRQ = UART1_RX_TX_IRQn; break;
chaegle 34:e84b8ad1d98b 12 case 2: _base = UART2; _IRQ = UART2_RX_TX_IRQn; break;
Sissors 39:8ef4f91813fd 13 #ifdef TARGET_K64F
chaegle 34:e84b8ad1d98b 14 case 3: _base = UART3; _IRQ = UART3_RX_TX_IRQn; break;
chaegle 34:e84b8ad1d98b 15 case 4: _base = UART4; _IRQ = UART4_RX_TX_IRQn; break;
Sissors 39:8ef4f91813fd 16 #endif
chaegle 34:e84b8ad1d98b 17 default: _base = NULL; _IRQ = (IRQn_Type)NULL; break;
chaegle 34:e84b8ad1d98b 18 }
chaegle 34:e84b8ad1d98b 19 }
chaegle 34:e84b8ad1d98b 20
chaegle 34:e84b8ad1d98b 21 void MODSERIAL::initDevice(void) {};
chaegle 34:e84b8ad1d98b 22
chaegle 34:e84b8ad1d98b 23 bool MODSERIAL::txIsBusy( void )
chaegle 34:e84b8ad1d98b 24 {
chaegle 34:e84b8ad1d98b 25 return ( ((UART_Type*)_base)->S1 & ( 1UL << 6 ) == 0 ) ? true : false;
chaegle 34:e84b8ad1d98b 26 }
chaegle 34:e84b8ad1d98b 27 #endif