打印
[uCOS/RTOS]

关于中断中使用SysTick的问题求解~~~

[复制链接]
1260|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小弟对这个SysTick理解的不是很深,看网上大神说:这就相当于ucos的"心脏"~~~
描述:横向的长箭头代表时间轴,每个"|"代表一个时钟节拍(SysTick).A处的位置代表刚刚接收到一个节拍SysTick中断
问题1:SysTick节拍中断和我们常说的系统中断有啥什么区别?
问题2:如果此时有一个系统中断来临B(图中红色箭头),那它是在原地直接保存堆栈信息,然后立马进入ISR,还是会到C处才执行中断?
问题3:那对于SysTem中断呢?恳请大神指教~~~

相关帖子

沙发
liuchang890811|  楼主 | 2015-7-17 15:25 | 只看该作者
图是我自己画的,不知道表达的是否清楚...............

使用特权

评论回复
板凳
st316| | 2015-7-23 07:52 | 只看该作者
每来一个systick,OS会进行一次任务调度,选出已就绪的优先级最高的任务并开始执行。

1、systick其实也是由“系统中断”实现的,定时器时间一到,就产生一个systick。

2、立马执行在B处中断服务程序。任务与中断是两个概念,虽然他们都有优先级的概念,无论你在执行什么任务,只要发生了“系统中断”,当前任务就会被暂停,待中断服务程序走完之后,当前任务才会继续,直到下一个systick来临,此时根据各任务的优先级,当前的任务有可能被挂起,而其他任务得到CPU使用权。当然,如果之前执行的任务优先级是最高的,则它就会继续得到执行。

3、看了以上,你不会再问3这个问题了吧。

使用特权

评论回复
地板
liuchang890811|  楼主 | 2015-7-24 08:31 | 只看该作者
感谢大神指导!!!小弟明白了~

使用特权

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

本版积分规则

34

主题

87

帖子

0

粉丝