
ucos-iii学习
你的先生_1016
在校学生,记录学习
展开
-
uCOS-iii学习笔记(11)——任务信号量和任务消息队列
任务消息队列和任务信号量原创 2022-07-07 11:27:49 · 512 阅读 · 1 评论 -
uCOS-III学习笔记——软件定时器
uCOS-III学习笔记——软件定时器原创 2022-07-02 16:18:19 · 245 阅读 · 0 评论 -
uCOS-III学习笔记——时间片轮转
uCOS-III学习笔记——时间片轮转原创 2022-07-02 15:24:30 · 450 阅读 · 0 评论 -
uCOS-III学习笔记(10)----等待多个内核对象
理解:等待多个内核对象说的就是,比如一个任务需要等待信号量才能打开led1,等待一个消息队列才能打开led2,此时不用等待多个内核对象的话就算来了信号量也会被pend卡住而不能往下面运行,所以等待多个内核对象解决的就是这类问题。 创建多个内核对象:比如需要等待一个信号量和一个消息队列,多内核对象就可以看成是一个数组 OS_SEM MY_SEM; OS_Q MyMsgQ; OS_PEND_DATA mul_pend_array[2];//等待两个 这里就是2 OSSemCreate ((OS原创 2021-12-17 10:13:43 · 464 阅读 · 0 评论 -
uCOS-III学习笔记(9)----任务标志组
理解: 这个其实很好理解,比如想完成这样一个功能,任务1的按键1按下并且按键2按下,此时任务2的灯才会亮,(这里说的并且也可以改成任意一个事件触发)。 OS_FLAG_GRP MyEventFlag; OSFlagCreate((OS_FLAG_GRP *)&MyEventFlag, (CPU_CHAR *)"MyEventFlag", (OS_FLAGS )0, //状态的初始值,这里写0后面就要写置位,反之相同 (OS_原创 2021-12-17 09:25:43 · 232 阅读 · 0 评论 -
uCOS-III学习笔记(八)----消息队列
目录 1.消息队列的理解和创建 2.消息队列的作用 3.例子演视 1.消息队列的理解和创建 (1)理解:消息队列本质上是一种任务之间的数据传输的桥梁,利用消息队列可以在不同的任务当中传递数据。 (2)消息队列的创建,参考ucosiii的api手册 例子和参数解释: OS_Q MyMsgQ; //这个需要自己定义 OSQCreate((OS_Q *)&MyMsgQ, //你上面定义啥,就传啥的地址.原创 2021-12-16 20:40:05 · 520 阅读 · 0 评论 -
uCOS-III学习笔记(七)----优先级反转
理解优先级反转是什么现象: 优先级反转发生的原因就是因为多种任务执行的时候因为没有信号量执行不了,或者因为延时让出了cpu的使用权,导致其他的优先级低的任务先执行了。这就是优先级反转的现象 举个例子:例子很关键 extern OS_SEM MY_SEM; //创建的信号量 void Task_1(void *p_arg) { OS_ERR err; (void)p_arg; while(1) { OSTimeDlyHMSM(0, 0, 0, 500原创 2021-12-16 16:04:52 · 806 阅读 · 0 评论 -
uCOS-III学习笔记(六)----信号量
ucos-III信号量的理解,创建,使用原创 2021-12-16 15:25:31 · 242 阅读 · 0 评论 -
u-COS-III学习笔记(3)---时钟节拍
ucos-iii的时钟节拍设置和使用原创 2021-12-16 11:04:33 · 851 阅读 · 0 评论 -
uCOS-III学习笔记(2)----创建任务
1.在ucos-iii下创建自己的任务 1.在工程文件下创建APP文件夹,在文件夹里创建app.c和.h文件 2.可以把OSTaskCreat()这个里面创建任务的搬过来 再对照手册进行参数的修改 就可以创建出自己的任务 OSTaskCreate((OS_TCB *)&OSIdleTaskTCB, (CPU_CHAR *)((void *)"uC/OS-III Idle Task"), ...原创 2021-11-30 15:29:27 · 660 阅读 · 0 评论 -
uCOS-III学习笔记(1)-----整体系统,任务概念
uCOS-III学习笔记(1)原创 2021-11-30 10:27:10 · 345 阅读 · 0 评论