ucos---信号量
来源:互联网 发布:java项目发布到外网 编辑:程序博客网 时间:2024/04/25 16:52
(1)使能
os_cfg.h头文件中 #define OS_SEM_EN 1
(2)三个重要函数
《1》OS_EVENT *OSSemCreate (INT16U cnt);
参数:cnt表示信号量 ; 返回值:可看作该信号量的句柄
(当cnt==1的时候,表示互斥操作)
《2》INT8U OSSemPost (OS_EVENT *pevent);
参数:信号量句柄 ; 返回值:表示错误码返回 OS_ERR_NONE(0)表示成功
《3》void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *perr);
参数:1.信号量句柄; 2.等待时间(0表示无限等); 3.表示错误码返回 OS_ERR_NONE(0)表示成功
OSSemPost ()可以有任务或中断服务子程序调用
OSSemPend () 只能由任务程序调用
任务要得到信号量的问题。
想得到信号量的任务,必须执行等待操作(pend)。如果信号量有效(非0),则信号量减1,任务得以继续运行。如果信号量无效,则等待信号量的任务就被列入等待信号量的任务表中。多少内核允许定义等待超时,当等待时间超过了设定值,该信号量还是无效,则等待该信号量的任务进入就绪态,准备运行,并返回出错代码(等待超时错误)。
任务对信号量的释放问题。
任务执行发信号(post)操作来释放信号量。如果没有任务等待信号量,那么信号量的值仅是简单的加1(则信号量大于0,有效);如果有任务等待该信号量,那么就会有另一个任务进入就绪态,信号量的值就不加1。
- ucos---信号量
- ucos 信号量
- ucos互斥信号量
- uCOS-II信号量学习
- uCOS-II信号量
- uCOS-II信号量学习
- UCOS之信号量
- ucos 计数信号量
- ucos-ii信号量总结
- uCOS-II之信号量
- ucos信号量理解
- ucos信号量理解1
- ucos学习篇之信号量
- ucos关于互斥信号量
- ucos ii信号量的理解
- ucos-ii 信号量的使用
- ucos信号量的理解2
- ucos 信号量的理解3
- 华芯飞、瑞芯微推国产RMVB芯片 优于ADI
- PHP中的类
- Error creating bean with name 'mySessionFactory' defined in class path resource [applicationContext.xml]:
- TestLink和Bugzilla的配置
- c 螺旋方阵 【原创】
- ucos---信号量
- 从google group上得到的好东西
- 仿QQ聊天内容显示 - CRichEditCtrl
- c 筛选法求素数【修改】
- 三种强大的物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析
- 并口编程参考资料
- 博客改名为软件小组
- evc 编程总结
- 数组的顺序结构表示和实现