任务信号量实验-max96705

上传者: 26766559 | 上传时间: 2021-12-21 21:34:41 | 文件大小: 7.15MB | 文件类型: -
25.3 任务信号量实验 25.3.1 任务信号量代替二值信号量 任务通知代替消息队列是在 UCOS 中创建了两个任务,其中一个任务是用于接收任务 信号量,另一个任务发送任务信号量。两个任务独立运行,发送任务信号量的任务是通过 检测按键的按下情况发送,等待任务在任务信号量中没有可用的信号量之前就一直等待, 获取到信号量以后就继续执行,这样子是为了代替二值信号量,任务同步成功则继续执行, 然后在串口调试助手里将运行信息打印出来,具体见代码清单 25-6 加粗部分。 代码清单 25-6 任务通知代替二值信号量 1 #include 2 3 4 static OS_TCB AppTaskStartTCB; //任务控制块 5 6 static OS_TCB AppTaskPostTCB; 7 static OS_TCB AppTaskPendTCB; 8 9 10 11 12 static CPU_STK AppTaskStartStk[APP_TASK_START_STK_SIZE]; //任务堆栈 13 14 static CPU_STK AppTaskPostStk [ APP_TASK_POST_STK_SIZE ]; 15 static CPU_STK AppTaskPendStk [ APP_TASK_PEND_STK_SIZE ]; 16 17 18 19 20 static void AppTaskStart (void *p_arg); //任务函数声明 21 22 static void AppTaskPost ( void * p_arg ); 23 static void AppTaskPend ( void * p_arg ); 24 25 26 27 int main (void) 28 { 29 OS_ERR err; 30 31 32 OSInit(&err); //初始化 33 uC/OS-III 34 35 /* 创建起始任务 */ 36 OSTaskCreate((OS_TCB *)&AppTaskStartTCB, 37 //任务控制块地址 38 (CPU_CHAR *)"App Task Start", 39 //任务名称 40 (OS_TASK_PTR ) AppTaskStart, 41 //任务函数 42 (void *) 0, 43 //传递给任务函数(形参 p_arg)的实参 44 (OS_PRIO ) APP_TASK_START_PRIO,

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明