UCOSIII时间片轮转调度
OS_RATE_HZ const OSCfg_TickRate_Hz = (OS_RATE_HZ )OS_CFG_TICK_RATE_HZ;
#define OS_CFG_TICK_RATE_HZ 200u /* Tick rate in Hertz (10 to 1000 Hz) */
时间片长度200Hz,也就是一个系统时钟节拍5ms
串口实验
为Task1和Task2分配2个时间片,分别做串口打印
OSTaskCreate((OS_TCB * )&Task1_TaskTCB, (CPU_CHAR * )"Task1 task", (OS_TASK_PTR )task1_task, (void * )0, (OS_PRIO )TASK1_TASK_PRIO, (CPU_STK * )&TASK1_TASK_STK[0], (CPU_STK_SIZE)TASK1_STK_SIZE/10, (CPU_STK_SIZE)TASK1_STK_SIZE, (OS_MSG_QTY )0, (OS_TICK )2, //2个时间片,2*5=10ms (void * )0, (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR,(OS_ERR * )&err);OSTaskCreate((OS_TCB * )&Task2_TaskTCB, (CPU_CHAR * )"task2 task", (OS_TASK_PTR )task2_task, (void * )0, (OS_PRIO )TASK2_TASK_PRIO, (CPU_STK * )&TASK2_TASK_STK[0], (CPU_STK_SIZE)TASK2_STK_SIZE/10, (CPU_STK_SIZE)TASK2_STK_SIZE, (OS_MSG_QTY )0, (OS_TICK )2, //2个时间片,2*5=10ms (void * )0, (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, (OS_ERR * )&err);void task1_task(void *p_arg)
{u8 i,task1_num=0;OS_ERR err;p_arg = p_arg;POINT_COLOR = RED;LCD_ShowString(30,130,110,16,16,"Task1 Run:000");POINT_COLOR = BLUE;while(1){task1_num++;LCD_ShowxNum(110,130,task1_num,3,16,0x80);for(i=0;i<5;i++) printf("Task1:01234\r\n");LED0 = ~LED0;LED2 = ~LED2;OSTimeDlyHMSM(0,0,1,0,OS_OPT_TIME_HMSM_STRICT,&err);}
}void task2_task(void *p_arg)
{u8 i,task2_num=0;OS_ERR err;p_arg = p_arg;POINT_COLOR = RED;LCD_ShowString(30,150,110,16,16,"Task2 Run:000");POINT_COLOR = BLUE;while(1){task2_num++;LCD_ShowxNum(110,150,task2_num,3,16,0x80);for(i=0;i<5;i++) printf("Task2:56789\r\n");LED1 = ~LED1;OSTimeDlyHMSM(0,0,1,0,OS_OPT_TIME_HMSM_STRICT,&err);}
}
实验现象
重新调整时间片个数
分配3个时间片,任务切换时间延长至15ms
OSTaskCreate((OS_TCB * )&Task1_TaskTCB, (CPU_CHAR * )"Task1 task", (OS_TASK_PTR )task1_task, (void * )0, (OS_PRIO )TASK1_TASK_PRIO, (CPU_STK * )&TASK1_TASK_STK[0], (CPU_STK_SIZE)TASK1_STK_SIZE/10, (CPU_STK_SIZE)TASK1_STK_SIZE, (OS_MSG_QTY )0, (OS_TICK )3, //3个时间片,3*5=15ms (void * )0, (OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR,(OS_ERR * )&err);
实验现象
UCOSIII时间片轮转调度相关推荐
- 正点原子STM32 UCOSiii学习笔记——时间片轮转调度
在学习正点原子视频的时间片轮转调度时,发现一个问题:当设置时间片为2个10ms时串口收到的消息为图1所示,Tsak1输出5次以后(未执行换行)2个时间片用完,Task2开始执行,输出5次后回到Task ...
- 操作系统实验(二):进程调度(c实现优先权调度和时间片轮转调度)
一.[实验目的] ①理解有关进程控制块.进程队列的概念. ②掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑. 二.[实验内容] ①设计进程控制块PCB的结构,分别适用于优先权调度算法和时间片轮转 ...
- Linux 学习笔记(八):时间片轮转调度
看这篇文章前可以先了解一下时间片:Linux 学习笔记(七):时间片_Amentos的博客-CSDN博客 一.基本概念 时间片轮转调度算法(Round-Robin,RR)主要用于分时操作系统中的进程调 ...
- 时间片轮转调度 java_java OS时间片轮转调度基本算法
java OS时间片轮转调度基本算法实例源码讲解. public class OSprocess{ private String name; //进程名 private OSprocess next; ...
- 进程调度 RR 时间片轮转调度 java实现
时间片轮转调度 时间片轮转调度策略:在轮转(RR)法中,系统将所有的就绪进程按FCFS策略排成一个就绪队列.系统可设置每隔一定时间(如30 ms)便产生一次中断,去激活进程调度程序进行调度,把CPU分 ...
- 基于STM32的简易RTOS分析-时间片轮转调度
调度器一般分为两种分别是合作式调度器(时间片轮转)和抢占式调度器(优先级).<时间触发嵌入式系统设计模式>这本书里面提到调度器可以看作是一个简单的操作系统,允许以周期或者单次的方式来调用任 ...
- 基于mykernel的时间片轮转调度
学号: 363 原创作品,转载请注明出处. 本实验资源来源: https://github.com/mengning/linuxkernel/ 一. 实验环境配置 本次实验在实验楼完成: 在实验楼的终 ...
- 时间片轮转调度 java_操作系统- 实验一 模拟处理机调度的时间片轮转法(Java实现)...
实验一 模拟处理机调度的时间片轮转法 一.实验目的:用c/c++模拟时间片轮转法 二.实验内容:输入进程的个数,每个进程的名称及每个进程需要工作的时间,本实验中假定对CPU时间片设置为一个时间单位, ...
- OS2.2.5:调度算法之时间片轮转调度、优先级调度、多级反馈队列调度
文章目录 知识总览 调度算法 时间片轮转 举例 优先级调度 多级反馈队列调度 举例 总结 知识总览 各种调度算法的学习思路 算法思想 算法规则 3.这种调度算法是用于 作业调度 还是 进程调度? 抢占 ...
最新文章
- numpy 中的 squeeze() 函数
- ListView 与 它里面的Item 点击滑动冲突
- java开源库web3j的以太坊过滤器(filter)和智能合约事件(event)教程
- mysql切换到使用openssl,MySQL主从复制+OpenSSL
- ssm框架里面前端拿HTML写,ssm框架引入Vue,声明式渲染,标签的href拼接字符串
- 中科院自动化所与华为联合提出!视觉目标检测大模型GAIA
- 微信小程序教程笔记6
- 我要看的学习网站——php
- python爬虫100个入门项目
- 如何调试微信浏览器内嵌H5
- 组装计算机什么配置比较好,组装电脑什么配置好 组装电脑配置推荐
- Ubuntu 安装字体
- noip模拟赛 whzzt-Warmth
- python编写一个汽车类_编写类-汽车类
- postMan请求结果中文乱码
- java面试全套清单_Java 全套面试题 PDF 下载
- 于博士cadence教程讲解内容
- Python是什么编程语言
- spoon各个控件的说明
- 如何给word 文章的每段段尾添加 脚注
热门文章
- ARFoundation系列讲解 - 47 扫描识别图常见的问题
- Zadig 完成 100% 开源:开启软件交付 3.0 时代
- 【Paper】2019_Distributed bipartite leader-following consensus of linear multi-agent systems with inpu
- Maya---基础知识(2)
- 【硬件驱动】360驱动大师 v2.0.0.1660单文件网卡绿化版
- 冯山C语言第六章作业答案,C语言四川师范大学信息与计算科学冯山实验九课案.docx...
- 华为机试—姓名的夫妻相
- 什么是linux嵌入式系统,嵌入式系统是什么
- python输入十个学生的成绩、判断优良中差并计算人数_大数据基础习题(1)
- php镶入电脑网页,flash插件来调用pc的摄像头如何将它嵌入到TML页面