From 6ab799c7eb15918dfd86fb7bee982dc64b7fe53c Mon Sep 17 00:00:00 2001 From: Peter Lawrence <12226419+majbthrd@users.noreply.github.com> Date: Tue, 11 Feb 2020 14:34:07 -0600 Subject: [PATCH] atomic GPIO operation in BSP --- hw/bsp/nutiny_sdk_nuc505/nutiny_sdk_nuc505.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/bsp/nutiny_sdk_nuc505/nutiny_sdk_nuc505.c b/hw/bsp/nutiny_sdk_nuc505/nutiny_sdk_nuc505.c index e666a10aa..3a341de9a 100644 --- a/hw/bsp/nutiny_sdk_nuc505/nutiny_sdk_nuc505.c +++ b/hw/bsp/nutiny_sdk_nuc505/nutiny_sdk_nuc505.c @@ -93,8 +93,11 @@ void board_led_write(bool state) { uint32_t current = (state) ? LED_STATE_ON : (1-LED_STATE_ON); current <<= LED_PIN; + uint32_t irq_state = __get_PRIMASK(); + __disable_irq(); current |= LED_PORT->DOUT & ~(1UL << LED_PIN); LED_PORT->DOUT = current; + __set_PRIMASK(irq_state); } uint32_t board_button_read(void)