资料介绍
我们在入门阶段,一般面对的设计都是单一的简单的任务,流程图可以如图1所示,通常会用踏步循环延时来满足任务需要。
面对多任务,稍微复杂的程序设计,沿用图1的思想,我们会做出如图2所示的程序,在大循环体中不断增加任务,通常还要用延时来满足特定任务节拍,这种程序设计思想它有明显的不足,主要是各个任务之间相互影响,增加新的任何之后,以前很好的运行的任务有可能不正常,例如数码管动态扫描,本来显示效果很好的驱动函数,在增加新的任务后出现闪烁,显示效果变差了。
很明显,初学者在设计程序时,需要从程序构架思想上下功夫,在做了大量基本模块练习之后,需要总结提炼自己的程序设计思路(程序架构思想)。
首先我们来理解“任务”,所谓任务,就是需要CPU周期“关照”的事件,绝大多数任务不需要CPU一直“关照”,例如启动ADC的启动读取。甚至有些任务“害怕”CPU一直“关照”例如LCD的刷新,因为LCD是显示给人看的,并不需要高速刷新,即便是显示的
内容在高速变化,也不需要高速刷新,道理是一样的。这样看来,让CPU做简单任务一定很浪费,事实也是如此,绝大多数简单任务,CPU都是在“空转”(循环踏步延时)。对任务总结还可以知道,很多任务需要CPU不断“关照”,其实这种“不断”也是有极限的,比如数码管动态扫描,能够做到40Hz就可以了,又如键盘扫描,能够做到20Hz(经验值),基本上也就不会丢有效按键键值了,再如LCD刷新,我觉得做到10Hz就可以了,等等。看来,绝大多数任务都是工作在低速频度。而我们的CPU一旦运行起来,速度又很快,CPU本身就是靠很快的速度执行很简单的指令来胜任复杂的任务(逻辑)的。如果有办法把“快”的CPU分成多个慢的CPU,然后给不同的任务分配不同速度的CPU,这种设想是不是很好呢!确实很好,下面就看如何将“快”的CPU划分成多个“慢”的CPU。
根据这种想法,我们需要合理分配CPU资源来“关照”不同的任务,最好能够根据任务本身合理占用CPU资源,首先看如图3所示的流程图,各个任务流程独立,各任务通过全局变量来交互信息,在流程中有一个重要的模块“任务切换”,就是任务切换模块实现CPU合理分配,这个任务切换模块是怎么实现的呢?
- LabVIEW的程序实例详细资料说明 142次下载
- URAT VHDL的程序与仿真详细资料说明 11次下载
- USB串口驱动程序主机的详细资料说明 4次下载
- Protel DXP的常用快捷键详细资料说明 0次下载
- 程序的转移类指令详细资料说明
- Arduino程序结构及基本函数的详细资料说明
- 使用MATLAB程序计算车位位置的详细资料说明 3次下载
- LED显示的电路图和程序及详细资料说明 13次下载
- 雷达管制程序与方法的详细资料说明 26次下载
- Visual FoxPro程序设计教程之结构化程序设计的详细资料说明 8次下载
- Java程序设计教程之异常处理的详细资料说明 13次下载
- C++的实验教程之循环结构程序设计的详细资料说明 4次下载
- C语言程序设计教程之数组的详细资料说明 7次下载
- JAVA程序设计教程之数组的详细资料说明 0次下载
- 复杂的多任务程序设计方法 181次下载
- 如何利用FreeRTOS的多任务机制优化程序呢? 560次阅读
- RA FreeRTOS任务创建 480次阅读
- 基于多任务预训练模块化提示 582次阅读
- 固态锂离子电池的详细资料解析 8650次阅读
- RS232接口串口取电电路的详细资料介绍 7863次阅读
- 单片机多任务处理方案 9315次阅读
- 如何进行PLC控制程序的设计详细资料PPT说明 5753次阅读
- 库卡机器人模拟量输入输出编程的详细资料概述 6623次阅读
- PPT教程之伺服电机及其驱动技术的详细资料讲解 6990次阅读
- 迁移学习、多任务学习领域的进展 3860次阅读
- PLC常用基本环节梯形图和详细文字说明详细资料概述 8966次阅读
- 变压器保护的基本要求,保护配置和运行规定的详细资料概述 8485次阅读
- ABB机器人怎样多任务?ABB机器人多任务使用方法步骤详解 3.1w次阅读
- NLP多任务学习案例分享:一种层次增长的神经网络结构 4325次阅读
- 基于高档数控系统的实时多任务实现 1294次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多