[MCU] 时间片大小

[复制链接]
5585|25
john_lee 发表于 2013-8-13 09:42 | 显示全部楼层
楼上还是糊涂的。
但是低优先级任务执行的时候是要看时间片的吧

你认为所谓的“时间片”,对“低优先级任务”的执行有什么影响?
hjl714016 发表于 2013-8-13 11:40 | 显示全部楼层
我一直认为,时间片轮只适合执行时间很短的任务。对于像LCD1602,LCD12864等这些执行时间较长的任务如何处理?因为这些任务执行时,会让其他任务长时间等待,这样实时性很差。求大神指点。
john_lee 发表于 2013-8-13 12:18 | 显示全部楼层
hjl714016 发表于 2013-8-13 11:40
我一直认为,时间片轮只适合执行时间很短的任务。对于像LCD1602,LCD12864等这些执行时间较长的任务如何处 ...

把“其他”任务的优先级提高。
南宫云明 发表于 2013-8-13 13:09 | 显示全部楼层
john_lee 发表于 2013-8-13 09:42
楼上还是糊涂的。

你认为所谓的“时间片”,对“低优先级任务”的执行有什么影响? ...

确实晕了,抢占型的OS是高优先级的任务一旦准备就绪就立即可以获得CPU控制权,这里的一旦准备就绪是什么意思。。。。

是不是就想OSTimeDly()定时时间到了,或者等到了某个信号量,邮箱等,就算“准备就绪”?

chenbb8 发表于 2013-8-13 14:26 | 显示全部楼层
南宫云明 发表于 2013-8-13 13:09
确实晕了,抢占型的OS是高优先级的任务一旦准备就绪就立即可以获得CPU控制权,这里的一旦准备就绪是什么 ...

ucos ii中,当前运行的任务就是所有就绪任务中优先级最高的任务。
任务的设计模式是基于事件触发的模式,比如邮箱 信号之类的玩意,信号发出去就能将等待这个信号的任务就绪,恢复的这个任务优先级如果比当前任务高的话就能切换过去。
相关post函数,除了互斥体因为和优先级有关无法用到ISR中外,别的几个事件和消息的构件的post函数都能放到ISR中。
而系统延时只是各种事件其中的一种而已。
xiaox314 发表于 2013-8-13 23:40 | 显示全部楼层
一般都是ms级的,如果特别短的就放中断,其实多大要看你的事件的最小那个的响应周期!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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