diff options
Diffstat (limited to 'project/Core/Src/Project/local_control.c')
| -rw-r--r-- | project/Core/Src/Project/local_control.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/project/Core/Src/Project/local_control.c b/project/Core/Src/Project/local_control.c index 236e555..1ddcd2a 100644 --- a/project/Core/Src/Project/local_control.c +++ b/project/Core/Src/Project/local_control.c @@ -5,9 +5,13 @@ * Author: sowgro */ +#include <stm32l4xx.h> +#include <stdio.h> +#include "GPIO.h" + void local_control_start() { GPIO_Init(); - NVIC_Enable_IRQ(XTI15_10_IRQn); + NVIC_EnableIRQ(EXTI9_5_IRQn); } void local_control_loop() { @@ -15,9 +19,15 @@ void local_control_loop() { } void local_control_stop() { - + NVIC_DisableIRQ(EXTI15_10_IRQn); } -void XTI15_10_IRQHandler() { +void EXTI9_5_IRQHandler() { + if (~EXTI->PR1 & EXTI_PR1_PIF9) + return; + + EXTI->PR1 |= EXTI_PR1_PIF9; + int status = !(GPIOC->IDR & GPIO_PIN_9); + printf("Other %i\r\n", status); } |
