当前位置: 首页 > news >正文

uCOSIII-任务内嵌信号量

任务内嵌信号量,是µC/OS-III 为每一个任务都分配了一个到任务控制块结构体中的任务内嵌信号量。
任务内嵌信号量是分配于每一个任务的任务控制块结构体中的,每一个任务都有独自的任务内嵌信号量,任务内嵌信号量只能被该任务获取,但是可以由其他任务或者中断释放。
每个任务的内嵌信号量在创建的时候都已经被创建好了,并且发出的信号能够直接到达指定的任务中,因此使用内嵌信号量的效率比使用内核对象的信号量高得多,在实际的开发当中,可以优先考虑使用任务内嵌信号量。

一、µC/OS-III 任务内嵌信号量相关 API 函数
1)函数 OSTaskSemPend()
该函数用于获取任务内嵌信号量。
OS_SEM_CTR OSTaskSemPend(
OS_TICK timeout, //任务挂起等待任务内嵌信号量的最大允许时间
OS_OPT opt, //函数操作选项
CPU_TS* p_ts, //指向接收任务内嵌信号量接收时的时间戳的变量的指针
OS_ERR* p_err) //指向接收错误代码变量的指针
OS_SEM_CTR类型返回值:任务内嵌信号量更新后的资源数。
2)函数 OSTaskSemPendAbort()
该函数用于终止任务挂起等待任务内嵌信号量。
CPU_BOOLEAN OSTaskSemPendAbort(
OS_TCB* p_tcb, //指向任务控制块的指针
OS_OPT opt, //函数操作选项
OS_ERR* p_err) //指向接收错误代码变量的指针
返回值CPU_BOOLEAN:终止任务挂起是否成功。 3)函数 OSTaskSemPost()
该函数用于释放指定任务的内嵌信号量。
OS_SEM_CTR OSTaskSemPost(
OS_TCB* p_tcb, //指向任务控制块的指针
OS_OPT opt, //函数操作选项
OS_ERR* p_err) //指向接收错误代码变量的指针
OS_SEM_CTR 类型返回值:任务内嵌信号量更新后的资源数。
4)函数 OSTaskSemSet()
该函数用于强制设置任务内嵌信号量的资源数。
OS_SEM_CTR OSTaskSemSet(
OS_TCB* p_tcb, //指向任务控制块的指针
OS_SEM_CTR cnt; //指定的信号量资源数
OS_ERR* p_err) //指向接收错误代码变量的指针
OS_SEM_CTR类型返回值:任务内嵌信号量设置前的资源数

相关文章:

  • vue3配置端口,比底部vue调试
  • 千峰React:Hooks(下)
  • 七、Three.jsPBR材质与纹理贴图
  • 数据结构——位图
  • Redis 源码分析-内部数据结构 robj
  • 帧中继+静态路由实验(大规模网络路由器技术)
  • DeepSeek开源周Day5压轴登场:3FS与Smallpond,能否终结AI数据瓶颈之争?
  • React 中 useState 的 基础使用
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(十二)
  • 民安智库:物业满意度调查的数据分析经验分享
  • 《宇宙》自我意识之局部宇宙,无垠星空之真实宇宙
  • Android+SpringBoot的老年人健康饮食小程序平台
  • 【react】快速上手基础教程
  • 《向华为学习:BEM战略解码》课程大纲
  • 消息队列学习-常用消息队列中间件的对比分析
  • 加载大数据时性能压力优化
  • phpstudy小皮面板下载安装及启动MySQL的报错解决
  • git 强推
  • python随机数如何赋值给变量
  • 信号和槽
  • 免费培训学校网站源码/友情链接交换工具
  • 美国白宫网站开发/绍兴seo排名收费
  • 怎么做一考试网站/百度首页
  • 做网站推广用自己维护吗/app推广引流
  • 公司起名字大全免费三个字/无锡seo排名收费
  • 大连市城市建设管理局网站/搜索引擎优化的意思