mirror of https://github.com/ARMmbed/mbed-os.git
Fix for ARM issue 11859.
1. Clear UART events before enabling 2. Reset device before return from test casepull/12052/head
parent
8d246d8ac1
commit
a79b1b3369
|
|
@ -133,6 +133,9 @@ static void uart_test_common(int baudrate, int data_bits, SerialParity parity, i
|
|||
serial_set_flow_control_direct(&serial, FlowControlRTSCTS, &pinmap);
|
||||
#else
|
||||
//skip this test case if static pinmap is not supported
|
||||
// Cleanup uart to be able execute next test case
|
||||
serial_free(&serial);
|
||||
tester.reset();
|
||||
return;
|
||||
#endif
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -720,10 +720,12 @@ void cyhal_uart_enable_event(cyhal_uart_t *obj, cyhal_uart_event_t event, uint8_
|
|||
obj->irq_cause &= ~event;
|
||||
if (event & CYHAL_UART_IRQ_RX_NOT_EMPTY)
|
||||
{
|
||||
Cy_SCB_ClearRxInterrupt(obj->base, CY_SCB_RX_INTR_NOT_EMPTY);
|
||||
Cy_SCB_SetRxInterruptMask(obj->base, Cy_SCB_GetRxInterruptMask(obj->base) & ~CY_SCB_RX_INTR_NOT_EMPTY);
|
||||
}
|
||||
if (event & CYHAL_UART_IRQ_TX_EMPTY)
|
||||
{
|
||||
Cy_SCB_ClearTxInterrupt(obj->base, CY_SCB_UART_TX_EMPTY);
|
||||
Cy_SCB_SetTxInterruptMask(obj->base, Cy_SCB_GetTxInterruptMask(obj->base) & ~CY_SCB_UART_TX_EMPTY);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue