From 25b871f48e9d2ddd744d8aa8d53082c090e76028 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 7 Apr 2023 15:33:22 +0200 Subject: [PATCH] Girouette avec fonction intern du uc --- keilproject/RTE/_R_el/RTE_Components.h | 2 +- keilproject/Source/Principale.c | 38 +++++++------- keilproject/voilier.uvoptx | 72 ++++++++++++++++++++++++-- keilproject/voilier.uvprojx | 44 +++++++++++++++- 4 files changed, 129 insertions(+), 27 deletions(-) diff --git a/keilproject/RTE/_R_el/RTE_Components.h b/keilproject/RTE/_R_el/RTE_Components.h index 849a0e6..d0354e4 100644 --- a/keilproject/RTE/_R_el/RTE_Components.h +++ b/keilproject/RTE/_R_el/RTE_Components.h @@ -3,7 +3,7 @@ * Auto generated Run-Time-Environment Configuration File * *** Do not modify ! *** * - * Project: 'gpiodriver' + * Project: 'voilier' * Target: 'Réel' */ diff --git a/keilproject/Source/Principale.c b/keilproject/Source/Principale.c index 6a6a664..ccbd4ab 100644 --- a/keilproject/Source/Principale.c +++ b/keilproject/Source/Principale.c @@ -9,32 +9,30 @@ int main (void) { - MyGPIO_Struct_TypeDef MyGPIO={GPIOB,3,In_PullDown}; - + //configuration gpiob6 et gpiob7 en entrées pull up + MyGPIO_Struct_TypeDef MyGPIO={GPIOB,6,In_PullUp}; MyGPIO_Init(&MyGPIO); - MyGPIO.GPIO_Pin=4; + MyGPIO.GPIO_Pin=7; MyGPIO_Init(&MyGPIO); - //inturutpion sur rise de gbpiob 3 avec appelle de Girouette_Angle - MyTimer_Struct_Typedef MyTimerGirouette ={TIM4,72,1};//500kHZ + //configuration TIM4 reset a 360 + MyTimer_Struct_Typedef MyTimerGirouette ={TIM4,359,1}; MyTimer_Base_Init(&MyTimerGirouette); - MyTimer_ActiveIT(TIM4,4,Girouette_Angle);//changer prio + TIM4->SMCR &=~0x07; + TIM4->SMCR |=~0x011; + TIM4->CCMR1 |= TIM_CCMR1_CC1S_0; + TIM4->CCMR1 |= TIM_CCMR1_CC2S_0; + TIM4->CCER &=~TIM_CCER_CC1P; + TIM4->CCER &=~TIM_CCER_CC1NP; + TIM4->CCER &=~TIM_CCER_CC2P; + TIM4->CCER &=~TIM_CCER_CC2NP; + TIM4->CCMR1&=~TIM_CCER_IC1F; + TIM1->CR1 |= 1; + Angle_Girouette=TIM4->CNT; + + while(1){}; } -void Girouette_Angle(void) -{ - if ( ( Angle_Girouette==360 )||( Angle_Girouette==-360) ) - { - Angle_Girouette=0; - } - if(MyGPIO_Read(GPIOB,4)) - { - Angle_Girouette =Angle_Girouette-1/4; - }else{ - Angle_Girouette =Angle_Girouette+1/4; - } - //print(Angle_Girouette);//a suppr apr test -} diff --git a/keilproject/voilier.uvoptx b/keilproject/voilier.uvoptx index c4ff53b..3171a5a 100644 --- a/keilproject/voilier.uvoptx +++ b/keilproject/voilier.uvoptx @@ -75,7 +75,7 @@ 1 0 - 1 + 0 18 @@ -222,7 +222,23 @@ 5 0 - 18 + 16 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + .\Source\Principale.c + + +
+ + 6 + 0 + 22 1
0
0 @@ -364,7 +380,7 @@ 1 0 - 0 + 1 18 @@ -534,7 +550,7 @@ 1 1 1 - 0 + 1 0 0 .\Source\Principale.c @@ -562,6 +578,54 @@ 0 0 + + 2 + 3 + 1 + 0 + 0 + 0 + ..\driver\adc.c + adc.c + 0 + 0 + + + 2 + 4 + 1 + 0 + 0 + 0 + ..\driver\gpio.c + gpio.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ..\driver\timer.c + timer.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 + ..\driver\uart.c + uart.c + 0 + 0 + diff --git a/keilproject/voilier.uvprojx b/keilproject/voilier.uvprojx index 389748f..230c61b 100644 --- a/keilproject/voilier.uvprojx +++ b/keilproject/voilier.uvprojx @@ -400,6 +400,26 @@ 4 ..\driver\Lib_Com_Periph_2022.lib + + adc.c + 1 + ..\driver\adc.c + + + gpio.c + 1 + ..\driver\gpio.c + + + timer.c + 1 + ..\driver\timer.c + + + uart.c + 1 + ..\driver\uart.c + @@ -414,7 +434,7 @@ Réel 0x4 ARM-ADS - 5060960::V5.06 update 7 (build 960)::.\ARMCC + 6190000::V6.19::ARMCLANG 0 @@ -718,7 +738,7 @@ 1 - 1 + 2 0 0 1 @@ -803,6 +823,26 @@ 4 ..\driver\Lib_Com_Periph_2022.lib + + adc.c + 1 + ..\driver\adc.c + + + gpio.c + 1 + ..\driver\gpio.c + + + timer.c + 1 + ..\driver\timer.c + + + uart.c + 1 + ..\driver\uart.c +