单片机程序架构(一)时间片轮询
来源:互联网 发布:mac内存清理软件 编辑:程序博客网 时间:2024/06/04 08:40
时间片轮询方法
方法一:
void TimerX_handler(void){ ms_cnt++;}初始化设置该定时器x毫秒中断一次,即ms_cnt作为一个毫秒计时器。
main(void){ while(1) { if(ms_cnt%x==0) { task1(); } if(ms_cnt%y==0) { task2(); } }}主循环中,每隔x毫秒执行一次task1,每隔y毫秒执行一次task2。
方法二:
typedef _TASK_STRUCT{<span style="white-space:pre"></span>u32 time_cnt;<span style="white-space:pre"></span>u8 run_flag;}TASK;TASK task1 = {x,0};TASK task2 = {y,0};定义任务结构体,每隔x时间置位task1执行标志位task1.run_flag,在main loop中扫描并执行;同理task2。
void TimerX_handler(void){if(task1.run_flag == 0){task1.time_cnt--;}if(task1.time_cnt == 0){task1.run_flag = 1;task1.time_cnt = x;}if(task2.run_flag == 0){task2.time_cnt--;}if(task2.time_cnt == 0){task2.run_flag = 1;task2.time_cnt = y;}}
void main(void){while(1){if(task1.run_flag == 1){task1();task1.run_flag = 0;}if(task2.run_flag == 1){task2();task2.run_flag = 0;}}}
(附:待完善)
0 0
- 单片机程序架构(一)时间片轮询
- 单片机程序架构--时间片轮询法
- 单片机程序架构--时间片轮询法
- 嵌入式单片机程序架构之时间片轮询法
- 单片机开发新架构---时间片轮询
- 单片机开发新架构---时间片轮询
- 讨论实现单片机程序架构(STC15W204S单片机)
- 程序架构(一)
- 嵌入式单片机程序架构之顺序结构
- 51单片机j基础C程序架构
- 51单片机C语言程序(一)发…
- 单片机程序风格和调试技巧(一)
- 【单片机】灯按照不等时间闪烁程序
- 单片机秒表程序(自动切换时间
- 数据结构与程序架构(一)
- QML程序架构设计(一)
- 单片机(一)
- 程序时间复杂度计算(一)
- android jni入门
- 二叉查找树的查找,插入,最大/最小值查找,前驱/后续查找,删除算法[java]
- iphone开发自定义UIControl对象的视图 UISwitch的字体和颜色
- 电梯
- LeetCode-Palindrome Number
- 单片机程序架构(一)时间片轮询
- struts的优缺点
- HDU 4776 Ants tire+优先队列
- POJ 1149 PIGS(最大流+建图)
- 母函数(指数型)系列之 排列组合 hdoj 1521
- 推荐:天下没有免费的午餐
- 浪潮之巅——读书笔记+摘录+感悟
- iOS 多线程 锁 互斥 同步
- ReportStudio入门教程(八十一) - 下钻后负责人信息异常