第 6 章 任务之间的通讯与同步....................................................................... .... .....1
6.0 事件控制块 ECB..............................................................................................2
6.1 初始化一个事件控制块,OSEVENTWAITLISTINIT().....................................7
6.2 使一个任务进入就绪态,OSEVENTTASKRDY()............................................7
6.3 使一个任务进入等待某事件发生状态, OSEVENTTASKWAIT()..................10
6.4 由于等待超时而将任务置为就绪态, OSEVENTTO()...................................11
6.5 信号量.............................................................................................................11
6.1.1
建立一个信号量
, OSSemCreate()...........................................................12
6.1.2
等待一个信号量
, OSSemPend().............................................................13
6.1.3
发送一个信号量
, OSSemPost()...............................................................15
6.1.4
无等待地请求一个信号量
, OSSemAccept()...........................................16
6.1.5
查询一个信号量的当前状态
, OSSemQuery()........................................17
6.6 邮箱.................................................................................................................18
6.1.6
建立一个邮箱,
OSMboxCreate()...........................................................19
6.1.7
等待一个邮箱中的消息,
OSMboxPend().............................................20
6.1.8
发送一个消息到邮箱中,
OSMboxPost()..............................................22
6.1.9
无等待地从邮箱中得到一个消息
, OSMboxAccept()............................23
6.1.10
查询一个邮箱的状态
, OSMboxQuery()...............................................24
6.1.11
用邮箱作二值信号量
............................................................................25
6.1.12
用邮箱实现延时,而不使用
OSTimeDly()..........................................26
6.7 消息队列.........................................................................................................27
6.1.13
建立一个消息队列,
OSQCreate().......................................................31
6.1.14
等待一个消息队列中的消息,
OSQPend().........................................33
6.1.15
向消息队列发送一个消息(
FIFO
),
OSQPost()...........................35
6.1.16
向消息队列发送一个消息(后进先出
LIFO
),
OSQPostFront()..36
6.1.17
无等待地从一个消息队列中取得消息
, OSQAccept().........................38
6.1.18
清空一个消息队列
, OSQFlush()..........................................................39
6.1.19
查询一个消息队列的状态,
OSQQuery()...........................................39
6.1.20
使用消息队列读取模拟量的值
............................................................41
6.1.21
使用一个消息队列作为计数信号量
....................................................42
I