1.就是周期的选择,
2.就是执行函数时间的把握,
3.是打破延时函数的束缚,
4.是降低任务间的关联性,将大问题化解成多个小任务,由小任务解决大问题。
5.任务优先级的调度方法
一、周期的选择要满足几个前提,第一是优先满足精确执行周期,其次是要尽量选择公倍数比较大的周期,因为公倍数越大,时间上重合的间隔就越长,周期越稳定。
二、所有的任务函数的执行时间之和应当小于最小的时钟周期。将时间冲突降到最小。时间冲突在所难免,最坏的情况是在任务还没有执行完的情况下,任务又来了,因此所有的任务函数的执行时间之和应当小于函数执行的最小时钟周期。
三、尽量不要用Delay()函数,或者将Delay()函数的时间利用起来,执行杂散任务。
四、任务关联越大、任务执行时间越长,系统实时性就越低,单片机就越呆萌,因此我们必须将任务函数的执行时间降下来,降低函数间的关联性,学会吧大事情分成几天完成,每天完成一点点。将大问题化解成多个小任务,由小任务解决大问题。
五、设置函数间的优先级,优先级高的函数在时间冲突时优先执行。
学会利用调度机制调配任务,能提高系统的实时性,实用性,提高单片机的利用率,是充分发挥单片机的必要之举。
|