009_UCOSIII
009_UCOSIII
陆小果哥哥
这个作者很懒,什么都没留下…
展开
-
006_信号量
信号量通常分为两种:二进制信号量和计数型信号量。二进制信号量只能取0和1两个值,计数型信号量的信号量值大于1,计数型信号量的范围由OS_SEM_CTR决定,OS_SEM_CTR可以为8位,16位和32位,取值范围分别为:0255,065535和0~4294967295。二值信号量用于那些一次只能一个任务使用的资源,比如I/O设备,打印机,计数型信号量用于某些资源可以同时被几个任务所使用,比如...原创 2019-12-25 09:36:58 · 1209 阅读 · 0 评论 -
005_消息队列
(一)定义消息队列////////////////////////消息队列//////////////////////////////#define DATAMSG_Q_NUM 4 //发送数据的消息队列的数量OS_Q DATA_Msg; //定义一个消息队列,用于发送数据(二)创建消息队列//创建消息队列DATA_Msg OSQCre...原创 2019-12-25 09:34:06 · 172 阅读 · 0 评论 -
004_软件定时器
(一) 将软件定时器打开#define OS_CFG_TMR_EN 1u (一)定义软件定时器OS_TMR tmr1; //定时器1OS_TMR tmr2; //定时器2(二)创建软件定时器//创建定时器1OSTmrCreate((OS_TMR )&tmr1, ...原创 2019-12-25 09:31:50 · 145 阅读 · 0 评论 -
003_时间片轮转调度及中断函数
(一)使用时间片轮转调度功能条件(二)在os_cfg.h头文件中将OS_CFG_SCHED_ROUND_ROBIN_EN置一#define OS_CFG_SCHED_ROUND_ROBIN_EN 1u (三)调用OSSchedRoundRobinCfg函数,在start中调用这个函数#if OS_CFG_SCHED_ROUND_ROBIN_EN //当使用时间片轮转的...原创 2019-12-25 09:29:34 · 905 阅读 · 0 评论 -
002_UCOSIII任务创建于删除
(一)先创建一个启动任务来进行创建其它任务,创建任务的宏定义#define START_TASK_PRIO 3 //任务优先级#define START_STK_SIZE 128 //任务堆栈大小 OS_TCB StartTaskTCB; //任务控制块CPU_STK ST...原创 2019-12-25 09:27:29 · 136 阅读 · 0 评论 -
001_UCOSIII引入原因
(一)在前年的学习中一直都是在裸机上跑程序的,根本没有用到操作系统,但是因为以前开发的东西很小,根本用不着,也没必要在操作系统上跑,所以就没有学习。在未来的几天中将进军UCOSIII。为什么选择UCOSIII呢因为这个系统开源并且资料满天飞,其实更大的原因是由于工作中可能会遇到,本来已经学习LINUX好几个月了,但是后面因为没有用到所以都基本忘得差不多了,在目前寻找的工作可能不会用到linux这样...原创 2019-12-25 09:24:40 · 195 阅读 · 0 评论