[uCOS/RTOS] 问关于任务的抢占和切换。

[复制链接]
 楼主| wyq165 发表于 2014-11-4 17:44 | 显示全部楼层 |阅读模式
假如有两个任务
一个扫描任务,平时花费的时间是15MS。
一个是通信任务,负责从中断内收到数据帧,处理后返回。

通信任务讲究迅速,接到帧后能尽快的处理,然后回发。
而扫描任务却是很重要。
通信的任务采用中断接收帧后,通过信号量来触发。
而扫描任务是周期性的。
通信任务由于实时性要求高,优先级设高一些。
我想问: 扫描任务里面若不调用 延时这类可以在等待中放弃CPU所有权的函数。那平时通信任务没有触发的时候。系统内核是不是只在时钟节拍中断内才会检查任务就绪表。
hotyong 发表于 2014-11-6 11:18 | 显示全部楼层
不是,只要是被OS管理的中断都会在中断退出时检查就绪表,从而决定是回到原任务或者执行任务切换。
而一般情况除非必要都会将中断交给OS管理, 也就是一般在中断服务程序最后会有一行 OSIntExit(); 这个函数里就有查询就绪表
 楼主| wyq165 发表于 2014-11-6 19:29 | 显示全部楼层
本帖最后由 wyq165 于 2014-11-6 19:30 编辑
hotyong 发表于 2014-11-6 11:18
不是,只要是被OS管理的中断都会在中断退出时检查就绪表,从而决定是回到原任务或者执行任务切换。
而一般 ...


谢谢,我知道你说的情况。我是说中断不触发的时候(也就是通信任务一直没等到信号量,一直放弃CPU所有权)。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

359

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部