Skip to content

Commit 4acdf70

Browse files
committed
Disable all NRF52 serial interrupts on init
When initializing serial disable all interrupts as some of these may have been enabled by a bootloader. This ensures that the NRF52 serial driver remains compatible with any bootloader version.
1 parent 9ce3965 commit 4acdf70

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/serial_api.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -882,8 +882,7 @@ void serial_init(serial_t *obj, PinName tx, PinName rx)
882882
nordic_nrf5_uart_state[0].rts = NRF_UART_PSEL_DISCONNECTED;
883883

884884
/* Clear any old events and enable interrupts for UARTE0. */
885-
nrf_uarte_int_disable(nordic_nrf5_uart_register[0], NRF_UARTE_INT_RXSTARTED_MASK |
886-
NRF_UARTE_INT_ENDRX_MASK);
885+
nrf_uarte_int_disable(nordic_nrf5_uart_register[0], 0xFFFFFFFF);
887886

888887
NVIC_SetVector(UARTE0_UART0_IRQn, (uint32_t) nordic_nrf5_uart0_handler);
889888
nrf_drv_common_irq_enable(UARTE0_UART0_IRQn, APP_IRQ_PRIORITY_HIGHEST);
@@ -904,8 +903,7 @@ void serial_init(serial_t *obj, PinName tx, PinName rx)
904903
nordic_nrf5_uart_state[1].rts = NRF_UART_PSEL_DISCONNECTED;
905904

906905
/* Clear any old events and enable interrupts for UARTE1. */
907-
nrf_uarte_int_disable(nordic_nrf5_uart_register[1], NRF_UARTE_INT_RXSTARTED_MASK |
908-
NRF_UARTE_INT_ENDRX_MASK);
906+
nrf_uarte_int_disable(nordic_nrf5_uart_register[1], 0xFFFFFFFF);
909907

910908
NVIC_SetVector(UARTE1_IRQn, (uint32_t) nordic_nrf5_uart1_handler);
911909
nrf_drv_common_irq_enable(UARTE1_IRQn, APP_IRQ_PRIORITY_HIGHEST);

0 commit comments

Comments
 (0)