原子STM32带freeRTOS程序使用Timer3定时器时持续进入中断的问题解决

在使用原子STM32F103和freeRTOS开发时,遇到Timer3持续进入中断的问题。原因在于freeRTOS的ConfigureTimeForRunTimeStats函数将Timer3用于时间统计。解决方案是如果不需要时间统计,可以注释相关配置或更换定时器。
摘要由CSDN通过智能技术生成

【问题】:使用原子STM32F103最小系统板时,基于freeRTOS开发,使用定时器Timer3时发现,在中断加一句打印语句,程序持续进入中断,初始化设置的定时器周期都无效。

【原因】:

1)进一步查看程序,原子的timer.c文件中有一个ConfigureTimeForRunTimeStats函数,使用TIM3为FreeRTOS的时间统计提供时基,初步怀疑问题出现在此。

//初始化TIM3使其为FreeRTOS的时间统计提供时基
void ConfigureTimeForRunTimeStats(void)
{
	//定时器3初始化,定时器时钟为72M,分频系数为72-1,所以定时器3的频率
	//为72M/72=1M,自动重装载为50-1,那么定时器周期就是50us
	FreeRTOSRunTimeTicks=0;
	TIM3_Int_Init(50-1,72-1);	//初始化TIM3
}

2)查找该函数,查看调用的地方:在开始任务调度函数中

所以TIMER3是被freeR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Winter_world

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值