diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 1856fbd..12c7fea 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/ControleMoteur2.ioc b/ControleMoteur2.ioc index ddb20de..0844aff 100644 --- a/ControleMoteur2.ioc +++ b/ControleMoteur2.ioc @@ -18,23 +18,24 @@ Mcu.Name=STM32L073R(B-Z)Tx Mcu.Package=LQFP64 Mcu.Pin0=PC13 Mcu.Pin1=PC14-OSC32_IN -Mcu.Pin10=PC7 -Mcu.Pin11=PC8 -Mcu.Pin12=PC9 -Mcu.Pin13=PA13 -Mcu.Pin14=PA14 -Mcu.Pin15=PC10 -Mcu.Pin16=VP_SYS_VS_Systick -Mcu.Pin17=VP_TIM3_VS_ClockSourceINT +Mcu.Pin10=PC6 +Mcu.Pin11=PC7 +Mcu.Pin12=PC8 +Mcu.Pin13=PC9 +Mcu.Pin14=PA13 +Mcu.Pin15=PA14 +Mcu.Pin16=PC10 +Mcu.Pin17=VP_SYS_VS_Systick +Mcu.Pin18=VP_TIM3_VS_ClockSourceINT Mcu.Pin2=PC15-OSC32_OUT Mcu.Pin3=PH0-OSC_IN -Mcu.Pin4=PA0 -Mcu.Pin5=PA1 -Mcu.Pin6=PA2 -Mcu.Pin7=PA3 -Mcu.Pin8=PA5 -Mcu.Pin9=PC6 -Mcu.PinsNb=18 +Mcu.Pin4=PH1-OSC_OUT +Mcu.Pin5=PA0 +Mcu.Pin6=PA1 +Mcu.Pin7=PA2 +Mcu.Pin8=PA3 +Mcu.Pin9=PA5 +Mcu.PinsNb=19 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32L073RZTx @@ -46,6 +47,7 @@ NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true NVIC.SysTick_IRQn=true\:0\:0\:true\:false\:true\:true\:true\:false +NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true PA0.GPIOParameters=GPIO_Speed,GPIO_PuPd PA0.GPIO_PuPd=GPIO_PULLUP PA0.GPIO_Speed=GPIO_SPEED_FREQ_LOW @@ -102,8 +104,10 @@ PC9.Signal=S_TIM3_CH4 PH0-OSC_IN.GPIOParameters=GPIO_Label PH0-OSC_IN.GPIO_Label=MCO PH0-OSC_IN.Locked=true -PH0-OSC_IN.Mode=HSE-External-Clock-Source +PH0-OSC_IN.Mode=HSE-External-Oscillator PH0-OSC_IN.Signal=RCC_OSC_IN +PH1-OSC_OUT.Mode=HSE-External-Oscillator +PH1-OSC_OUT.Signal=RCC_OSC_OUT PinOutPanel.RotationAngle=0 ProjectManager.AskForMigrate=true ProjectManager.BackupPrevious=false diff --git a/Core/Inc/stm32l0xx_it.h b/Core/Inc/stm32l0xx_it.h index c0087c3..fdb425e 100644 --- a/Core/Inc/stm32l0xx_it.h +++ b/Core/Inc/stm32l0xx_it.h @@ -51,6 +51,7 @@ void HardFault_Handler(void); void SVC_Handler(void); void PendSV_Handler(void); void SysTick_Handler(void); +void TIM2_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/Core/Src/main.c b/Core/Src/main.c index 34a000c..0a4b74d 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -102,7 +102,7 @@ int main(void) HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3); HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL); - + //HAL_TIM_Encoder_Start_IT(&htim2, TIM_CHANNEL_ALL); ModelecOdometrySetup(); /* USER CODE END 2 */ diff --git a/Core/Src/stm32l0xx_it.c b/Core/Src/stm32l0xx_it.c index b3939b9..887bfbc 100644 --- a/Core/Src/stm32l0xx_it.c +++ b/Core/Src/stm32l0xx_it.c @@ -55,7 +55,7 @@ /* USER CODE END 0 */ /* External variables --------------------------------------------------------*/ - +extern TIM_HandleTypeDef htim2; /* USER CODE BEGIN EV */ /* USER CODE END EV */ @@ -140,6 +140,20 @@ void SysTick_Handler(void) /* please refer to the startup file (startup_stm32l0xx.s). */ /******************************************************************************/ +/** + * @brief This function handles TIM2 global interrupt. + */ +void TIM2_IRQHandler(void) +{ + /* USER CODE BEGIN TIM2_IRQn 0 */ + + /* USER CODE END TIM2_IRQn 0 */ + HAL_TIM_IRQHandler(&htim2); + /* USER CODE BEGIN TIM2_IRQn 1 */ + + /* USER CODE END TIM2_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/Core/Src/tim.c b/Core/Src/tim.c index b80d842..48da7e5 100644 --- a/Core/Src/tim.c +++ b/Core/Src/tim.c @@ -166,6 +166,9 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle) GPIO_InitStruct.Alternate = GPIO_AF2_TIM2; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* TIM2 interrupt Init */ + HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(TIM2_IRQn); /* USER CODE BEGIN TIM2_MspInit 1 */ /* USER CODE END TIM2_MspInit 1 */ @@ -235,6 +238,8 @@ void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle) */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1); + /* TIM2 interrupt Deinit */ + HAL_NVIC_DisableIRQ(TIM2_IRQn); /* USER CODE BEGIN TIM2_MspDeInit 1 */ /* USER CODE END TIM2_MspDeInit 1 */