diff --git a/examples/rtos_demo/main.c b/examples/rtos_demo/main.c index 9637cb5..345b5b7 100644 --- a/examples/rtos_demo/main.c +++ b/examples/rtos_demo/main.c @@ -1,3 +1,4 @@ +#include "gpio.h" #include "hal.h" #include "task.h" #include "scheduler.h" @@ -23,27 +24,17 @@ int main(void) { void task_one(void) { while (1) { - gpio_toggle_pc13(); + gpio_set_pc13(); delay(10000000); - gpio_toggle_pc13(); - - delay(10000000); - - gpio_toggle_pc13(); - task_delay(1000); } } void task_two(void) { while (1) { - gpio_toggle_pc13(); - - delay(500000); - - gpio_toggle_pc13(); + gpio_clear_pc13(); delay(500000); diff --git a/src/hal/stm32f401/src/gpio.c b/src/hal/stm32f401/src/gpio.c index 0e10417..e24f121 100644 --- a/src/hal/stm32f401/src/gpio.c +++ b/src/hal/stm32f401/src/gpio.c @@ -13,18 +13,19 @@ void gpio_init_pc13(void) { GPIOC->MODER |= enable_output_mode; } + /* Turn on LED */ void gpio_set_pc13(void) { - GPIOC->ODR |= (1U << 13); + GPIOC->ODR &= ~(1U << 13); } /* Turn off LED */ void gpio_clear_pc13(void) { - GPIOC->ODR &= ~(1U << 13); + GPIOC->ODR |= (1U << 13); } /*