滴答定时器SysTick的中断优先级为什么设置为15?即最低优先级?

本文解释了在FreeRTOS中,中断优先级与任务优先级的区别,强调了将Systick中断设置为最低级以确保系统任务切换不受干扰。同时指出,在裸机开发中,尽管滴答定时器中断常用于延时,但为了保证其他中断的正常响应,其优先级需保持低,导致延时可能不准确,应在中断服务函数中避免直接使用滴答定时器进行延时,推荐使用定时器实现延时功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 在,FreeRTOS中,中断优先级任务优先级 不是一个东西。中断可以打断任意的任务。但是任务不可以打断中断。所以在RTOS中把systick的中断优先级设置为15,即最低,是为了保证系统任务切换不会影响别的中断的进行。当然别的中断影响了系统任务的切换是存在的,也是可以接受的。
  2. 在裸机开发中,滴答定时器中断常被用于延时函数的定时节拍。为什么也要把systick的中断优先级设置为15,即最低优先级?答:目的是为了保证其他中断的正常运行,我们不能为了一个小小的延时功能就耽误其他重要中断的响应。因此,滴答定时器延时是不太准确的,因为别的中断会打断他。基于此,我们禁止在中断服务函数中调用延时函数。若是想在中断服务函数实现延时功能,那么就使用定时器来实现延时,不要使用滴答定时器进行延时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

九层指针

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

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

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

打赏作者

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

抵扣说明:

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

余额充值