STM32
直播中

吴湛

10年用户 866经验值
擅长:电源/新能源
私信 关注
[问答]

使用STM8L151 timer2的ETR(PB3)来计数,update中断或计数中断都没有触发是哪里的问题?

各位神,有没有使用过STM8L151 timer2的ETR(PB3)来计数。小弟最近配置使用没有成功,update中断或计数中断都没有触发。请大家帮忙看看问题出在哪里?多谢!

main函数
void main()
{  
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //内部时钟为1分频 = 16Mhz
  TIM2_Init();

  while(1)
  {
  }   

}


timer2 的初始化
void TIM2_Init()
{

  GPIO_Init(GPIOB , GPIO_Pin_3 , GPIO_Mode_In_PU_No_IT);  //PB3为timer2 的外部触发入口,上拉输入无中断

  TIM2_DeInit();    //复位TIME2
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE); //开启TIME2的时钟      
  TIM2_TimeBaseInit(TIM2_Prescaler_1,TIM2_CounterMode_Up,255);//不分频 ,计数 65535

  TIM2_ETRClockMode2Config(TIM2_ExtTRGPSC_OFF,TIM2_ExtTRGPolarity_NonInverted,0);//没有外部触发预分频器,高电平或上升沿有效,使能外部时钟模式2

  TIM2_SelectInputTrigger(TIM2_TRGSelection_ETRF); //选择外部触发
  TIM2_ARRPreloadConfig(ENABLE);

  TIM2_ClearFlag(TIM2_FLAG_Update);
  TIM2_ITConfig(TIM2_IT_Update,ENABLE);   //打开更新中断
  TIM2_ClearFlag(TIM2_IT_Trigger);
  TIM2_ITConfig(TIM2_IT_Trigger,ENABLE);   //打开触发中断  

  TIM2_SetCounter(0);
  TIM2_Cmd(ENABLE);
}


中断函数
extern u8 ul;
INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_USART2_TX_IRQHandler,19)
{
  if(TIM2_GetITStatus(TIM2_IT_Update) != RESET)
  {
    ul++;
    TIM2_ClearITPendingBit(TIM2_IT_Update);
  }
}

INTERRUPT_HANDLER(TIM2_CC_USART2_RX_IRQHandler,20)
{
   if(TIM2_GetITStatus(TIM2_IT_Update) != RESET)
  {
    ul++;
    TIM2_ClearITPendingBit(TIM2_IT_Update);
  }
}


回帖(1)

1652711011.026500

2024-5-6 16:53:53
根据您的描述,您正在尝试使用STM8L151的Timer2的ETR(PB3)来计数,但是update中断和计数中断都没有触发。为了解决这个问题,我们需要检查以下几个方面:

1. 确保您的硬件连接正确,PB3引脚是否正确连接到外部触发信号。

2. 检查您的Timer2初始化函数,确保您已经正确配置了Timer2的参数。以下是一些可能需要检查的参数:

   a. 确保您已经启用了Timer2的外部触发功能。
   b. 检查您的Timer2时钟源和预分频器设置是否正确。
   c. 确保您已经配置了Timer2的工作模式(例如:向上计数、向下计数等)。

3. 检查您的中断配置:

   a. 确保您已经启用了Timer2的中断功能。
   b. 检查您的中断优先级设置是否正确。
   c. 确保您的中断服务函数(ISR)已经正确配置。

4. 在您的main函数中,确保您已经调用了TIM2_Init()函数来初始化Timer2。

5. 如果您的外部触发信号没有问题,那么请检查您的中断服务函数(ISR)是否正确实现了中断处理逻辑。

6. 使用STM8L Discovery软件或ST-LINK调试器来检查您的程序是否正确运行,以及中断是否被正确触发。

如果您已经检查了以上所有方面,但问题仍然存在,请提供更多关于您的代码和硬件设置的详细信息,以便我们能够更好地帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分