diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2025-11-04 23:34:37 -0500 |
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2025-11-04 23:34:37 -0500 |
| commit | d5dac33672ae1e940b3fda4ee4f4e940229d996f (patch) | |
| tree | 25a07bc1eac32d60376008911cc9cf97b3393d6c /project/Core/Src/Project/project.c | |
| parent | a98361e6babc866bd7b4ed6b22f197e98e2dc28a (diff) | |
| download | 340-repo-Sowgro-d5dac33672ae1e940b3fda4ee4f4e940229d996f.tar.gz 340-repo-Sowgro-d5dac33672ae1e940b3fda4ee4f4e940229d996f.tar.bz2 340-repo-Sowgro-d5dac33672ae1e940b3fda4ee4f4e940229d996f.zip | |
get most interrupt handlers working for project pt2
Diffstat (limited to 'project/Core/Src/Project/project.c')
| -rw-r--r-- | project/Core/Src/Project/project.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/project/Core/Src/Project/project.c b/project/Core/Src/Project/project.c index a939879..be329fa 100644 --- a/project/Core/Src/Project/project.c +++ b/project/Core/Src/Project/project.c @@ -8,19 +8,30 @@ #include <string.h> #include <stdint.h> #include <stdio.h> +#include <stm32l4xx.h> #include "project.h" #include "player_actions.h" #include "hw4.h" -#include "player_actions.h" +#include "local_control.h" +#include "remote_control.h" +#include "GPIO.h" #define LOCAL_MODE (1) #define REMOTE_MODE (2) +static uint8_t state = STOPPED_STATE; + +uint8_t *project_get_state() { + return &state; +} + void project_run() { int mode = LOCAL_MODE; + local_control_start(); +// remote_control_start(); GPIO_Init(); - NVIC_EnableIRQ(EXTI9_5_IRQn); + NVIC_EnableIRQ(EXTI15_10_IRQn); for (;;) { switch (mode) { @@ -35,8 +46,14 @@ void project_run() { } } -void EXTI9_5_IRQHandler() { +void EXTI15_10_IRQHandler() { + if (~EXTI->PR1 & EXTI_PR1_PIF13) + return; + + EXTI->PR1 |= EXTI_PR1_PIF13; + int status = !(GPIOC->IDR & GPIO_PIN_13); + printf("%i\r\n", status); } |
