Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: UART9BIT.CPP
- Revision:
- 9:bd6af3d4c651
- Parent:
- 8:716d4274f7b7
- Child:
- 10:89f383af0885
diff -r 716d4274f7b7 -r bd6af3d4c651 UART9BIT.CPP
--- a/UART9BIT.CPP Mon Aug 26 13:33:10 2019 +0800
+++ b/UART9BIT.CPP Tue Aug 27 10:48:12 2019 +0800
@@ -36,20 +36,43 @@
void UART9BIT::interrupt_handler_asynch(void)
{
+
int event;
- int rx_event = event & SERIAL_EVENT_RX_MASK;
-
+ int rx_event;
+
+
+
if(Enable9Bit)
+ {
event=serial_irq_handler_asynch9bit(&_serial);
+
+ sprintf(uart9debug,"Uart9 serial_irq_handler_asynch9bit event=%04x\r\n",event); uartdebug=true;
+
+ }
else
+ {
event=serial_irq_handler_asynch(&_serial);
+ //sprintf(uart9debug,"Uart9 serial_irq_handler_asynch \r\n");
+ // uartdebug=true;
+ }
+
+ rx_event = event & SERIAL_EVENT_RX_MASK;
+ // sprintf(uart9debug,"Uart9 serial_irq _rx_asynch_set=%d rx_event=%04x event=%04x SERIAL_EVENT_RX_MASK=%04x\r\n",_rx_asynch_set,rx_event,event,SERIAL_EVENT_RX_MASK);
+ // uartdebug=true;
+
if (_rx_asynch_set && rx_event) {
+
+
event_callback_t cb = _rx_callback;
_rx_asynch_set = false;
_rx_callback = NULL;
+
if (cb) {
+ sprintf(uart9debug,"Uart9 run cb \r\n");
+ uartdebug=true;
+
cb.call(rx_event);
}
sleep_manager_unlock_deep_sleep();
@@ -117,8 +140,7 @@
if(Enable9Bit)
{
- serial_rx_asynch9bit(&_serial, buffer, buffer_size, buffer_width, _thunk9_irq.entry(), event, char_match, _rx_usage);
- printf("serial_rx_asynch9bit \r\n");
+ serial_rx_asynch9bit(&_serial, buffer, buffer_size, buffer_width, _thunk9_irq.entry(), event, char_match, _rx_usage);
}
else
{
@@ -132,6 +154,11 @@
return serial_getc_9bit(&_serial);
}
+void UART9BIT::putu16(uint16_t data)
+{
+ return serial_putc_9bit(&_serial,data);
+}
+
int UART9BIT::read(uint16_t *buffer, int length, const event_callback_t &callback, int event, unsigned char char_match)
{
int result = 0;