今天来公司移植回充部分代码,在设置定时器(用于采集回冲红外信号)周期时发现改变
TIM_TimeBaseStructure的成员变量
TIM_Period和
TIM_Prescaler均无效,令我十分不解。
定时器设置代码如下:
void TIM5_Init(double T)
{
u8 Count=T*10; //T的单位ms
TIM_Ti
在STM32F103上设置定时器TIM5进行中断处理时,发现定时器周期无法改变。经检查,问题在于中断函数TIM5_IRQHandler中未清除中断标志位TIM_IT_Update,导致连续执行中断函数,使得实际方波周期为1us。解决方案是在中断处理结束后清除中断标志位。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
void TIM5_Init(double T)
{
u8 Count=T*10; //T的单位ms
TIM_Ti
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
4329

被折叠的 条评论
为什么被折叠?
