- 1
- 0
- 约4.18千字
- 约 5页
- 2022-04-13 发布于未知
- 举报
实验二 uC/OS-II任务间通讯和同步实验
一、实验目的
掌握uC/OS-II操作系统下使用信号量解决任务之间的同步问题。
二、实验内容
使用信号量实现任务间同步。
三、实验原理
uC/OS-II中使用信号量进行任务之间同步
通过调用OSSemCreate()建立信号量,并对信号量的初始计数值赋值。该初始值为0到65,535之间的一个数。如果信号量是用来表示一个或者多个事件的发生,那么该信号量的初始值应设为0。如果信号量是用于对共享资源的访问,那么该信号量的初始值应设为1(例如,把它当作二值信号量使用)。最后,如果该信号量是用来表示允许任务访问n个相同的资源,那么该初始值显然应该是n,并把该信号量作为一个可计数的信号量使用。
通过调用OSSemPost()函数发送一个信号量,通过调用OSSemPend()函数等待一个信号量。如果信号量当前是可用的(信号量的计数值大于0),将信号量的计数值减1,然后函数将“无错”错误代码返回给它的调用函数。如果信号量的计数值为0,而OSSemPend()函数又不是由中断服务子程序调用的,则调用OSSemPend()函数的任务要进入睡眠状态,等待另一个任务(或者中断服务子程序)发出该信号量。
下面的代码使用两个信号量实现了两个任务之间的同步。信号量创建的代码如下,信号量
Sem2初始为可用状态,而信号量Sem1初始为不可用状态。
Sem1=OSSe
您可能关注的文档
- 汽车销售实务课件 项目八 价格谈判.ppt
- 汽车销售实务课件 项目二 潜在用户开发.ppt
- 汽车销售实务课件 项目七 异议处理.ppt
- 汽车销售实务课件 项目三 需求分析.ppt
- 汽车销售实务课件 项目十 汽车贷款.ppt
- 汽车销售实务课件 项目十二 交车服务.ppt
- 汽车销售实务课件 项目十三 售后跟踪服务.ppt
- 汽车销售实务课件 项目十四 汽车销售合同.ppt
- 汽车销售实务课件 项目十一 汽车上牌.ppt
- 汽车销售实务课件 项目四 车辆介绍.ppt
- T∕QGCML 3144-2024 市场化科普工作规范.docx
- T∕QGCML 3157-2024 智能型水产投料轨道车.docx
- T∕QGCML 3164-2024 表面处理污泥水热制备聚硫铁晶体.docx
- T∕QGCML 3138-2024 可燃气体与有毒气体报警器主板控制软件.docx
- T∕QGCML 3075-2024 井下钻探技术在特厚煤层中精准探测技术规程.docx
- T∕QGCML 3139-2024 基于STM32天然气煤气检测报警系统.docx
- T∕QGCML 3079-2024 煤矿预防工伤事故服务管理规范.docx
- T∕QGCML 3086-2024 综采工作面过超高空巷高水充填技术规程.docx
- T∕QGCML 3061-2024 远程费控电能表.docx
- T∕QGCML 3131-2024 便携式大气颗粒物智能检测分析仪.docx
原创力文档

文档评论(0)