打印

有关RTOS实时性和中断优先级的疑问

[复制链接]
630|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
达拉然的学徒|  楼主 | 2016-11-11 20:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近刚开始学习FreeRTOS,请教一个问题。
如果设置一个中断优先级高于RTOS内核优先级的话(比如定时器中断控制电机),触发中断后进行处理,按道理会影响内核的计时?这样的话系统的实时性不就得不到保证了吗?系统始终不就不再是设置的100us了吗?
谢谢!

相关帖子

沙发
ShawnLinson| | 2016-11-29 23:29 | 只看该作者
其他中断优先级 高于 系统定时器的中断优先级 的话,系统定时器只是会被耽搁响应中断,即任务切换而已。
期间系统定时器也还在运行的。
所以影响内核计时是有一种情况——系统定时器时间快到了,发生了优先级更高的中断,且这个中断执行的时间比较长,都超过了系统定时器剩余的时间了。此时系统就还继续执行着这个高优先级的中断,直到执行完成以后,再跳回到稍低优先级的其他中断响应,即执行完高优先级中断以后再响应系统调度(做任务切换)。
希望不会误导哦。。。

使用特权

评论回复
板凳
airwill| | 2016-12-10 14:02 | 只看该作者
楼上分析的有道理
事实上, 由于系统定时器和任务调度的开销, 任务的启动执行时间是不精确的. 而我们说说的实时性, 也就只是以系统定时器的周期为单位, 不会更精确的时间单位了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝