From 242cceb36cf64cc5ad5630faa89a5f64525a3f1c Mon Sep 17 00:00:00 2001
From: polymurph <eddyed.k@gmail.com>
Date: Mon, 17 Oct 2022 20:19:48 +0200
Subject: [PATCH] working on making PA3 LED toggle on PA1 Rising edge interrupt

---
 main.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/main.c b/main.c
index 4d16077..9837eb8 100644
--- a/main.c
+++ b/main.c
@@ -6,41 +6,47 @@
 #include "timer.h"
 #include "i2c.h"
 
+#include "stm32f042x6.h"
 #include "hardwareDescription.h"
 
 void setup();
 
-void EXTI3_IRQHandler(void)
+void EXTI1_IRQHandler(void)
 {
-	if((EXTI->PR1 & EXTI_PR1_PIF4) != 0) {
+	if((EXTI->PR & EXTI_PR_PIF1) != 0) {
 		
 		pinToggle(pinB3);
 		
 		// clear flag
-		EXTI->PR1 |= EXTI_PR1_PIF4;
+		EXTI->PR |= EXTI_PR_PIF1;
 	}
 }
 
 int main(int argc, char *argv[])
 {
 	setup();
-	
-	pinConfig(pinB4, input, def_stage, pullUp, def_speed);
+
+	// https://controllerstech.com/external-interrupt-using-registers/
+		
+	pinConfig(pinA1, input, def_stage, pullUp, def_speed);
 	// enable interrupt
-	NVIC_EnableIRQ(EXTI4_IRQn);
+	//NVIC_EnableIRQ(EXTI0_1_IRQn);
 	
 
 	// Connect
-	RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;
-	SYSCFG->EXTICR[0] &= ~SYSCFG_EXTICR1_EXTI4;
-	SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI4_PA;
+	RCC->APB2ENR |= RCC_APB2ENR_SYSCFGCOMPEN;
+	SYSCFG->EXTICR[0] &= ~SYSCFG_EXTICR1_EXTI0;
+	SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA;
 
 	// rising trigger selection
-	EXTI->RTSR1 |= EXTI_RTSR1_RT4;
+	EXTI->RTSR |= EXTI_RTSR_RT1;
 
 	// Interrupt mask register
-	EXTI->IMR1 |= EXTI_IMR1_IM4;
+	EXTI->IMR |= EXTI_IMR_IM1;
+	
 	
+	NVIC_SetPriority (EXTI1__IRQn, 1);	
+	NVIC_EnableIRQ(EXTI1);	
 
 	while(1);
 /*
@@ -79,7 +85,7 @@ void setup()
 	
 
 	//blinks 10 times to indicate the sicsessfull init if the device
-	for(i = 0 ; i < 2 ; i++) {
+	for(i = 0 ; i < 10 ; i++) {
 		delayMs(100); 
 		pinToggle(pinB3);
 		delayMs(100);