关于单片机大循环结构编程
2023-09-11 14:14:34 时间
今天学得好多呀!
如果用大循环结构进行单片机的编程
那么:
整个程序循环一圈的时间 < 程序中等待事件最小的任务
while(1)
{
等待1s的程序; //小灯闪烁
等待5s的程序; //播放语音
等待200ms的程序;
等待20ms的程序; //按键检测
等待1ms的程序; //发数据
}
如:上面的while,里有很多任务,所以,1ms是等待最短的任务,,,整个while(1)循环下来,要小于1ms,,,,
如果1ms难以保证,我们就退而求其次,,把1ms做成中断, while(1)循环一圈需要小于20ms
除了用中断,另一个方式就是用dma
把每个事件都做成数组,用1ms的定时器控制,,每次到达定时器,我们就让数组里的各个元素都减去1;
用一个定时器来控制所有任务的计时
相关文章
- poj1961--Period(KMP求最小循环节)
- java基础—几种for循环编程思想
- shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
- 原子循环计数器
- C语言中 循环语句 while for do while的使用 循环语句的嵌套使用 猜数字游戏的实现
- 模态对话框的消息循环原理及分析笔记
- 学习Python的第五节课(顺序结构、选择结构和循环结构)
- 第十九节:Java基本数据类型,循环结构与分支循环
- 第十九节:Java基本数据类型,循环结构与分支循环
- python中while循环打印星星的四种形状
- PHP的99乘法表三种循环表示
- 《乐高EV3机器人搭建与编程》——2.5 可循环充电锂电池
- 《C++游戏编程入门(第4版)》——2.6 使用while循环
- 《C++游戏编程入门(第4版)》——2.7 使用do循环
- C语言:分支与循环(2)
- SwiftUI 高代码质量编程技巧之 02 使用filter/reduce/map代替for循环,更清晰直观
- 1.Go-copy函数、sort排序、双向链表、list操作和双向循环链表
- Unity 循环列表 EnhancedScroller
- SqlServer 循环建表、删除表、更新表