找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1514|回复: 1
收起左侧

一种基于系统节拍时间的单片机程序设计模式(其实,我们一直在讨论的是任务调度-04)

[复制链接]
ID:249272 发表于 2019-12-3 10:41 | 显示全部楼层 |阅读模式
本帖最后由 水漫金山2017 于 2019-12-3 10:54 编辑

    上一篇文章,我们讨论了基于系统节拍时间的调度策略中如何利用好每一个时间片。你看,不知不觉这个时间片和调度的概念就出来了。调度,在单片机程序设计中指的是任务调度(每一个要交给CPU去处理的程序模块)。谈到调度必谈调度策略,因为没有调度策略的调度是不存在的。就算你一个while死循环所有任务,这也是一种调度策略。那么在这个单片机程序设计世界中,它也必然存在一种相对合理的调度策略,这个相对合理,也是我们孜孜不倦去努力追求的。这也是笔者分享自己编程经验的初衷。一定要注意,只是相对合理。    有的人说,现在都流行RTOS了,你为什么还在这大谈特谈,你的这个时间片调度呢,在说了,这也是老生长谈的问题了。是的,时间片调度,确实不是一种新的设计思想。但是,我们在单片机程序设计中,真的会用好这个时间片吗,甚至有很多单片机程序设计同行,还没有对这种调度策略重视过,还是一味的停留在最初的一个while死循环中。其实,一种单片机程序设计模式,就体现了一个单片机程序工程师的自然观,世界观,甚至人生观。时间片调度本质上是一种处理事情的思想方法。看过“时间触发嵌入式系统设计”的人都知道书中举的一个医生监控数位病人病情的例子。时间触发能让每位病人得到公平的服务,而事件触发,救了一个,其它的全完蛋了。说一千,道一万,笔者在这里宣扬的就是一种“时间触发嵌入式系统设计”思想。     关于,单片机程序设计中,任务的概念,任务的划分原则,长任务的处理方式,以及在有长任务存在的单片机程序中,如何安排长任务和其它任务,这是我后续文章想要给大家介绍的。谢谢。




评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:638524 发表于 2019-12-14 12:51 | 显示全部楼层
真的感谢分享,我是最近要做一个时钟的项目,所以来看看精准的任务调度的方法。然后之前知道的一种方法就是你上一节说的那种浪费CPU的方法,那就是我以前知道最精准的方法了,也是在网上看的框架的不浪费CPU资源,不去死等,然后看到你的20ms内处理20/时间片个的20ms周期任务,又让我明白了更多。感谢楼主
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表