- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号量集的操作函数.ppt
第7章 任务的同步与通信;主要内容;发信号
任务;; 信号量集的结构;事件标志组的数据结构; 信号量集图示;等待任务链表;OSFlagType;;OSFlagNodeNext;;添加节点;删除节点;;信号量集的操作函数;建立一个事件标志组,OSFlagCreate();创建信号量集的函数主要做了两项工作:;信号量集的操作函数;删除一个事件标志组,OSFlagDel();返回值:
如果事件标志组被删除,则返回空指针;如果没有删除,则仍然返回指向该事件标志组的指针。在后一种情况下,需要检查出错代码,找出事件标志组没有成功删除的原因。;信号量集的操作函数; 请求信号量集OSFlagPend( );举例;err:指向出错代码的指针,出错代码为以下值之一。
OS_NO_ERR 成功调用。
OS_ERR_PEND_ISR 从中断中调用该函数,这是规则不允许的。
OS_FLAG_INVALID_PGRP pgrp是空指针。
OS_ERR_EVENT_TYPE pgrp不是指向事件标志组的指针。
OS_TIMEOUT 等待事件标志组的事件标志超时。
OS_FLAG_ERR_WAIT_TYPE wait_type不是指定的参数值之一。
返回值:
返回OSFlagPend()函数允许结束后的事件标志组事件标志状态;如果发生了超时,则返回0。
;信号量集的操作函数;向信号量集发信号;举例;OSFlagPost();信号量集的操作函数;无等待地获得信号量集,OSFlagAccept();err:指向出错代码的指针,出错代码为以下值之一。
OS_NO_ERR 成功调用。
OS_ERR_EVENT_TYPE pgrp不是指向事件标志组的指针。
OS_FLAG_ERR_WAIT_TYPE wait_type参数不是指定的4种方式之一。
OS_FLAG_INVALID_PGRP pgrp是空指针。
OS_FLAG_ERR_NO_RDY 指定的事件标志没有发生。
返回值:
返回事件标志组的事件标志状态
;信号量集的操作函数;查询事件标志组的状态,OSFlagQuery();;举例;/*******************Test**************************************/
#include “includes.h”
#define TASK_STK_SIZE 512 //任务堆栈长度
#define N_MESSAGES 128 //定义消息队列长度
OS_STK StartTaskStk[TASK_STK_SIZE]; //定义任务堆栈区
OS_STK MyTaskStk[TASK_STK_SIZE]; //定义任务堆栈区
OS_STK YouTaskStk[TASK_STK_SIZE]; //定义任务堆栈区
OS_STK HerTaskStk[TASK_STK_SIZE]; //定义任务堆栈区
INT16S key; //用于退出的键
char *s1=“MyTask正在运行”;
char *s2=“YouTask正在运行”;
char *s3=“HerTask正在运行”;
INT8U err;
INT8U y=0; //字符显示位置;OS_FLAG_GRP *Sem_F;
void StartTask(void *data); //声明起始任务
void MyTask(void *data); //声明任务
void YouTask(void *data); //声明任务
void HerTask(void *data); //声明任务
;/*******************主函数**********************************/
void main(void)
{
OSInit(); //初始化μc/os-II
PC_DOSSaveReturn( ); //保存DOS环境
PC_VectSet(uCOS,0SCtxSw); //安装μc/os-II中断
Sem_F=OSFlagCreate(0,err); //创建信号量集
OSTaskCreate(StartTask, //创建任务StartTask
(void *)0, //给任务传递参数
StartTaskStk[TASK_STK_SIZE-1], //设置任务堆栈栈顶指针
0); //使任务的优先级别为0
OSStart
您可能关注的文档
- 从金融立法看台湾金融业之发展赖英照-金融研训院.doc
- 仑雅国小-永续校园全球资讯网.doc
- 他把一只价值连城的古董花瓶打得粉碎.ppt
- 他行网银汇入我行指引-长兴联合村镇银行.doc
- 代售旅行支票与买卖外币现钞.ppt
- 代理协议书-北京密安.doc
- 代码信息共享平台登录演示-全国组织机构代码管理中心.ppt
- 代码签名证书安装手册-上海市数字证书认证中心.doc
- 以MelinetsII平台为例-福建省高校数字图书馆.doc
- 仪器设备发票报销注意事项-浙江师范大学.ppt
- 中国行业标准 GM/T 0126-2023HTML密码应用置标语法.pdf
- 《JJF 2121-2024恒转速源校准规范》.pdf
- 餐饮服务中20条处理要点.docx
- 《GM/T 0011-2023可信计算 可信密码支撑平台功能与接口规范》.pdf
- 《JJF 2134-2024旋转流变仪校准规范》.pdf
- JJF 2121-2024恒转速源校准规范.pdf
- 计量规程规范 JJF 2121-2024恒转速源校准规范.pdf
- 《JJF 2118-2024压力式六氟化硫气体密度控制器校验仪校准规范》.pdf
- JJF 2134-2024旋转流变仪校准规范.pdf
- 计量规程规范 JJF 2134-2024旋转流变仪校准规范.pdf
最近下载
- 2011版课标“字表二 1000字“梳理.docx
- 电动吊篮安拆方案.doc VIP
- 2019中国消化道疾病检查白皮书(医疗).pdf
- 文心一言知识科普.pptx
- 2024年县民政局关于群众身边不正之风和腐败问题集中整治工作的形势分析报告.doc VIP
- 道路施工雨季安全培训.pptx
- (高质)《精神焦虑症的自救》.doc
- 港澳台联考语文满分作文.docx
- 单位办公室定密事项范围一览表式样.doc
- 理想 RISO 9050 7050 3050 7010 3010 闪彩印王中文技术维修手册 后面可以参考理想闪彩印王 EX7200 EX9050 EX9000 EX7250 系列中文维修手册 .pdf
文档评论(0)