cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1739|回复: 2

花了点时间看了“所长”及其他高手关于“多任务”...[转]

[复制链接]
发表于 2004-12-15 09:47:22 | 显示全部楼层 |阅读模式
的帖子,对于新手,有些看不明白,经过查资料,简单说一下自己的理解。
什么是多任务?
不论PC还是MCU,从微观上看,是没有真正的多任务的,就象人做工作一样,不能同一时刻(不是同一时间)做多件工作。
所以多任务是与时间有关系的,还是用人来作比喻,例如你可一天内做多件工作,包括上班、吃饭、拉屎,但有半秒内你能做这么多工作吗?MCU也一样,但它就快很多,例如1ms内MCU只做一件任务,但1s内就可做多个任务。这就是所谓的多任务了。
那么MCU多任务的实现就是这样:在某时刻只做一个任务,但在一段时间内可做多个任务。
举个实例:显示4个8字的LED数码管。
传统做法是,做个LcdDisplay()函数,在这个函数内把要显示的内容全部显示出来,也就是从头到尾显示这4个数码管。
多任务的做法,做个LcdUpdate()函数,在这个函数内只显示一位数码管,然后退出。这个函数由一个管理程序调用,例如每10ms调用一次,第一次显示第一个8字,第二次显示第二个8字....。
如果LcdUpdate()只花2ms,那么10-2=8ms,这8ms可做其他事。

以上显示的时间数值仅作例子,没什么实际意义。
一点肤浅理解,不知正确与否,新手看了不要被误导,高手看了请指出不正确之处。
发表于 2004-12-15 16:52:49 | 显示全部楼层
发表于 2004-12-16 07:09:50 | 显示全部楼层
呵呵,兄弟,有进步啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-5-3 22:47 , Processed in 0.522125 second(s), 9 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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