时间片调度实验-鲁棒控制——线性矩阵不等式处理方法 俞立 文字版 非扫描版
9.6 时间片调度实验 9.6.1 实验程序设计 1、实验目的 学习使用 FreeRTOS 的时间片调度。 2、实验设计 本实验设计三个任务:start_task、task1_task 和 task2_task ,其中 task1_task 和 task2_task 的任务优先级相同,都为 2,这三个任务的任务功能如下: start_task:用来创建其他 2 个任务。 task1_task :控制 LED0 灯闪烁,并且通过串口打印 task1_task 的运行次数。 task2_task :控制 LED1 灯闪烁,并且通过串口打印 task2_task 的运行次数。 3、实验工程 FreeRTOS 实验 9-1 FreeRTOS 时间片调度。 4、实验程序与分析 ● 系统设置 为了观察方便,将系统的时钟节拍频率设置为 20,也就是将宏 configTICK_RATE_HZ 设置 为 20: #define configTICK_RATE_HZ (20) 这样设置以后滴答定时器的中断周期就是 50ms 了,也就是说时间片值为 50ms,这个时间 片还是很大的,不过大一点我们到时候观察的时候方便。 ● 任务设置 #define START_TASK_PRIO 1 //任务优先级 #define START_STK_SIZE 128 //任务堆栈大小 TaskHandle_t StartTask_Handler; //任务句柄 void start_task(void *pvParameters); //任务函数 #define TASK1_TASK_PRIO 2 //任务优先级 (1) #define TASK1_STK_SIZE 128 //任务堆栈大小 TaskHandle_t Task1Task_Handler; //任务句柄 void task1_task(void *pvParameters); //任务函数 #define TASK2_TASK_PRIO 2 //任务优先级 (2) #define TASK2_STK_SIZE 128 //任务堆栈大小 TaskHandle_t Task2Task_Handler; //任务句柄 void task2_task(void *pvParameters); //任务函数 (1)和(2)、任务 task1_task 和 task2_task 的任务优先级设置为相同的,这里都设置为 2。 ● main()函数 int main(void) {
- 粉丝: 21
- 资源: 4170
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助