- 1
- 2
- 3
- 4
- 5
LED闪烁多任务控制.docx
资料介绍
实验 01:LED 闪烁多任务控制
实验说明
实验概述
本实验是 FreeRTOS 入门的第一个实验,旨在通过最简单的 LED 闪烁控制,帮助初学者理解 FreeRTOS 多任务调度机制的核心概念。在裸机编程中,LED 闪烁通常通过在主循环中插入延时来实现,这种方式下 CPU 在延时期间无法处理其他任务,效率低下。而在 FreeRTOS 中,我们可以将不同的功能封装为独立的任务,由操作系统内核统一调度,实现多任务并发执行。
实验原理
FreeRTOS 是一个抢占式实时操作系统内核。当系统中有多个任务时,高优先级任务会优先获得 CPU 使用权,同等优先级的任务则按照时间片轮转的方式交替执行。本实验创建了两个任务:任务 1 控制 LED1 以 500ms 间隔闪烁,任务 2 控制 LED2 以 1000ms 间隔闪烁。这两个任务具有相同的优先级,因此它们会按照时间片轮流获得 CPU 执行权。当任务调用 vTaskDelay() 函数时,该任务会主动进入阻塞状态,将 CPU 让给其他就绪任务,直到延时时间到达后重新进入就绪状态。
关键知识点
1. 任务创建:xTaskCreate() 是创建任务的核心 API,参数包括任务函数指针、任务名称(调试用)、栈深度(以字为单位)、传递给任务函数的参数、任务优先级以及任务句柄指针。
2. 任务延时:vTaskDelay() 使调用任务进入阻塞状态,参数为需要延时的系统节拍数。pdMS_TO_TICKS() 宏将毫秒值转换为节拍数,前提是系统节拍频率 configTICK_RATE_HZ 设置为 1000Hz。
3. 任务调度:FreeRTOS 采用基于优先级的抢占式调度策略。当更高优先级的任务就绪时,当前运行的任务会被立即抢占。同等优先级任务之间则按照时间片轮转调度,每个任务运行一个时间片后自动切换到下一个就绪任务。
4. 栈空间分配:每个任务拥有独立的栈空间,用于保存局部变量和函数调用上下文。栈空间过小会导致栈溢出,过大则浪费内存,需要根据任务的实际需求合理设置。
部分文件列表
| 文件名 | 大小 |
| 实验01_LED闪烁多任务控制.docx | 38K |
最新上传
-
emlimei 打赏1.00元 6小时前
-
21ic小能手 打赏5.00元 1天前
-
21ic小能手 打赏3.00元 1天前
资料:低频功率放大器的设计.
-
21ic小能手 打赏3.00元 1天前
-
21ic小能手 打赏3.00元 1天前
-
21ic小能手 打赏3.00元 1天前
-
21ic小能手 打赏3.00元 1天前
-
21ic小能手 打赏5.00元 3天前
资料:51单片机数字频率计
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
13573902396 打赏1.00元 3天前
-
21下载积分 打赏310.00元 3天前
用户:江岚
-
21下载积分 打赏310.00元 3天前
用户:潇潇江南
-
21下载积分 打赏60.00元 3天前
用户:他山之石可攻玉
-
21下载积分 打赏310.00元 3天前
用户:小猫做电路
-
21下载积分 打赏210.00元 3天前
用户:zhengdai
-
21下载积分 打赏210.00元 3天前
用户:w993263495
-
21下载积分 打赏10.00元 3天前
用户:烟雨
-
21下载积分 打赏60.00元 3天前
用户:gsy幸运
-
21下载积分 打赏70.00元 3天前
用户:铁蛋锅
-
21下载积分 打赏65.00元 3天前
用户:xzxbybd
-
21下载积分 打赏60.00元 3天前
用户:jh0355
-
21下载积分 打赏60.00元 3天前
用户:w178191520
-
21下载积分 打赏20.00元 3天前
用户:jh03551
-
21下载积分 打赏20.00元 3天前
用户:sun2152
-
21下载积分 打赏20.00元 3天前
用户:kk1957135547
-
21下载积分 打赏25.00元 3天前
用户:w1966891335
-
21下载积分 打赏20.00元 3天前
用户:xuzhen1
-
21下载积分 打赏15.00元 3天前
用户:x15580286248
-
21下载积分 打赏25.00元 3天前
用户:pcb
-
21下载积分 打赏20.00元 3天前
用户:bhacker
-
21下载积分 打赏15.00元 3天前
用户:liqiang9090
-
21下载积分 打赏25.00元 3天前
用户:有理想666
-
21下载积分 打赏15.00元 3天前
用户:godbox
-
21下载积分 打赏15.00元 3天前
用户:aetek
-
21下载积分 打赏5.00元 3天前
用户:mulanhk
-
21下载积分 打赏5.00元 3天前
用户:JuneLin61
-
21下载积分 打赏5.00元 3天前
用户:ccc6188
-
21下载积分 打赏5.00元 3天前
用户:木集盒




全部评论(0)