- 78
- 0
- 约3.94千字
- 约 6页
- 2022-03-18 发布于天津
- 举报
PAGE
PAGE #
STM32简单多任务调度
STM32的开发目前大多数还开处于裸奔”的阶段,处于开发成本的考虑,可能还未嵌入任何的RTOS系统,由于没有操作系统的支持,因而不能方便的对多任务进行调度和管理,
在main函数中你可能会写成如下方式:
[cpp]viewplaincopy
1.
int
main(void)
2.
{
3.
while(1)
4.
{
5.
Task1();
//调用任务1
6.
Task2();
//调用任务2
7.
}
8.
}
但简单这样写的话会存在一个问题,假如任务1是一个很紧急的任务,如AD采样任
务,需要不断的去执行,而任务2是一个不太紧急的任务,只要保证一段时间执行一次就
行(如控制LED灯闪烁,只需要每1s钟闪烁一次),这样的话一是频繁的调用任务2占
用了任务1执行的时间,二是任务2根本不需要这样频繁的执行,白白耗费了CPU的处理。
因此可以考虑实现一个调度策略来解决这个问题。对于每个任务,我们可以定义这样一个结
构:
[cpp]viewplaincopy
typedefstruct{
void(*fTask)(void);
int64uuNextTick;
int32uuLenTick;
}sTask;
其中fTask为任务指针,指向具体的任务,uNextTick为该任务下一次执行的时间,
uLenTick为任务的调度周
您可能关注的文档
最近下载
- 基于高考评价体系的新高考数学复习备考建议2020年11月.pptx VIP
- (5升6暑假奥数)定义新运算-小学数学五年级下册人教版.docx VIP
- 工业机器人行业胶黏剂综合解决方案 (水印版).pdf VIP
- 国企财务总监面试试题.doc VIP
- 核磁二维谱完整版本.ppt VIP
- 四川省成都七中2025-2026学年上学期期末高二物理试卷(含答案).pdf VIP
- 2025-2026学年北京市石景山区初二(上期)期末考试语文试卷(含答案).pdf
- 基于高考评价体系的新高考数学全国Ⅱ卷特点分析与复习建议(2023年12月).ppt VIP
- 【2025.5初三一模】海淀数学答案.pdf VIP
- 项目进度监控与调整手册(标准版).docx VIP
原创力文档

文档评论(0)