STM32中, CubeMX生成的Systick和hal_timebase相关

在STM32F1XX系列中,若使用freertos,经 CubeMX生成的代码会存在2种时基:
Systick:
来源:Systick时钟
作用:为freertos任务调度提供心跳(心跳是指通过不断的中断事件,提供不断发展的时间线,从而推动相关程序不断运行),这是强制性 的(强制是指只要用cubemx生成,就用Systick,不能用其它定时器,如果不用cubemx生成代码,这个提供心跳的定时器可以随便选)
优先级:默认最低,因为这是任务调度所需,不需太精准,且设置的太高,会影响系统实时性(影响重要中断的不能嵌套)
hal_timebase:
来源:可用的定时器,包括Systick(如果Systick不做他用的话)
作用:为hal库函数提供时基(每次中断时,uwtick++),因为一些库函数用到了超时功能,而超时判断是这样实现的:t1-t2,t1是调用超时函数前的uwtick,t2是期望的uwtick(即在t1基础上,延长多久后的uwtick)
优先级:一般取0(可屏蔽中断范围内最高),因为这个时基要求比较精准,精准体现在哪里?因为要用于超时判断!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值