27,375
社区成员
发帖
与我相关
我的任务
分享
void TIM3_IRQHandler(void)
{
/* USER CODE BEGIN TIM3_IRQn 0 */
if(LL_TIM_IsActiveFlag_CC1(TIM3) == SET)
{
uwICValue2=LL_TIM_GetCounter(TIM3)/4;
LL_TIM_OC_SetCompareCH1(TIM1, uwICValue2);
LCD_ShowIntNum(180,100,uwICValue2,sizeof(uwICValue2),WHITE,BLACK,32);
LCD_ShowIntNum(150, 20,22,sizeof(22),WHITE,BLACK,32);//显示测试用
}
LL_TIM_ClearFlag_CC1(TIM3);
LL_TIM_EnableIT_CC1(TIM3);
/* USER CODE END TIM3_IRQn 0 */
/* USER CODE BEGIN TIM3_IRQn 1 */
/* USER CODE END TIM3_IRQn 1 */
}
void TIM2_IRQHandler(void)
{
/* USER CODE BEGIN TIM2_IRQn 0 */
LL_TIM_DisableIT_CC1(TIM2);
LCD_ShowString(73,35,"0.00",CYAN,BLACK,24,0);
LL_TIM_ClearFlag_CC1(TIM2);
LL_TIM_EnableIT_CC1(TIM2);
/* USER CODE END TIM2_IRQn 0 */
/* USER CODE BEGIN TIM2_IRQn 1 */
/* USER CODE END TIM2_IRQn 1 */
}
我在TIM3里面用:
先关:LL_TIM_DisableIT_CC1(TIM2);
LL_TIM_DisableCounter(TIM2);
LL_TIM_DisableIT_CC1(TIM3);
再开: LL_TIM_EnableIT_CC1(TIM3);
LL_TIM_EnableCounter(TIM2);
LL_TIM_EnableIT_CC1(TIM2);
这样处理还是问题一样,请各位帮忙看看呢