From 270263d97cb69c905b975fd8ae3657638ed06057 Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Tue, 21 Mar 2023 16:07:40 +0100 Subject: [PATCH] Added second version of timerdriver : Interruption handling v1 --- ProjetsKEIL/Drivers/timerdriver.c | 37 ++++++++++++++++++- ProjetsKEIL/Drivers/timerdriver.h | 6 ++- .../timer_interruption/Source/Principale.c | 7 ++-- .../timer_interruption.uvoptx | 2 +- .../timer_interruption.uvprojx | 27 ++++++-------- 5 files changed, 57 insertions(+), 22 deletions(-) diff --git a/ProjetsKEIL/Drivers/timerdriver.c b/ProjetsKEIL/Drivers/timerdriver.c index 2670370..33c75bd 100644 --- a/ProjetsKEIL/Drivers/timerdriver.c +++ b/ProjetsKEIL/Drivers/timerdriver.c @@ -1,4 +1,5 @@ #include "timerdriver.h" +#include "gpiodriver.h" void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) { @@ -13,6 +14,21 @@ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) Timer->Timer->PSC = Timer->PSC; } +void MyTimer_ActiveIT(TIM_TypeDef * TimerX, uint8_t Prio) +{ + uint8_t positionTimerIT = TimerIT2UInt(TimerX); + TimerX->DIER |= (0x1<IP[positionTimerIT] |= (Prio << 0x4); + NVIC->ISER[0] |= (0x1<SR &= ~(0x1< TIM4 @@ -12,6 +14,8 @@ typedef struct { void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer); int TimerX2Int(TIM_TypeDef * TimerX); +uint8_t TimerIT2UInt(TIM_TypeDef * TimerX); +void MyTimer_ActiveIT(TIM_TypeDef * TimerX, uint8_t Prio); #define MyTimer_Base_Start(Timer) (Timer->CR1 |= (0x01<CR1 &= ~(0x01<CNT; }while(1) ; } diff --git a/ProjetsKEIL/timer_interruption/timer_interruption.uvoptx b/ProjetsKEIL/timer_interruption/timer_interruption.uvoptx index 4d77c3c..ed81262 100644 --- a/ProjetsKEIL/timer_interruption/timer_interruption.uvoptx +++ b/ProjetsKEIL/timer_interruption/timer_interruption.uvoptx @@ -125,7 +125,7 @@ 0 DLGDARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=486,94,907,521,1)(121=464,533,885,960,1)(122=875,109,1296,536,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=21,94,615,845,1)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + (1010=895,198,1271,755,1)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=486,94,907,521,1)(121=464,533,885,960,1)(122=875,109,1296,536,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=1326,229,1920,980,1)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) 0 diff --git a/ProjetsKEIL/timer_interruption/timer_interruption.uvprojx b/ProjetsKEIL/timer_interruption/timer_interruption.uvprojx index b58c002..4c6498b 100644 --- a/ProjetsKEIL/timer_interruption/timer_interruption.uvprojx +++ b/ProjetsKEIL/timer_interruption/timer_interruption.uvprojx @@ -10,14 +10,13 @@ Simulé 0x4 ARM-ADS - 6190000::V6.19::ARMCLANG - 6190000::V6.19::ARMCLANG - 1 + 5060960::V5.06 update 7 (build 960)::.\ARMCC + 0 STM32F103RB STMicroelectronics - Keil.STM32F1xx_DFP.2.4.0 + Keil.STM32F1xx_DFP.2.3.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE @@ -187,7 +186,6 @@ 0 0 0 - 0 0 0 8 @@ -315,7 +313,7 @@ 1 - 2 + 1 0 0 1 @@ -324,7 +322,7 @@ 0 0 0 - 3 + 2 0 0 0 @@ -423,7 +421,7 @@ STM32F103RB STMicroelectronics - Keil.STM32F1xx_DFP.2.4.0 + Keil.STM32F1xx_DFP.2.3.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE @@ -593,7 +591,6 @@ 0 0 0 - 0 0 0 8 @@ -824,15 +821,15 @@ - - + + - + @@ -843,7 +840,7 @@ RTE\Device\STM32F103RB\RTE_Device.h - + @@ -852,7 +849,7 @@ RTE\Device\STM32F103RB\startup_stm32f10x_md.s - + @@ -861,7 +858,7 @@ RTE\Device\STM32F103RB\system_stm32f10x.c - +