201
516122.
H
民
lder
FileTem
回
ate:
cmsis_os.h
///
Wait
for
one
or
more
Signal
Flags
to
become
signaled
for
the
current
\b
RUNN1NG
thread.
///
\param[in]
signa1s
wait
unti1
a11
specified
signa1
f1ags
set
or
0
for
any
sing1e
signal
flag.
///
\par
回
[in]
mi11isec
timeout
va1ue
or
0
in
case
of
no
time-out.
///
\return
event
flag
information
or
error
code.
///
\note
MUST
REMA1N
UNCHANGED:
\b
osSigna1Wait sha11 be
consistent
in
every
CMS1S-RTOS.
osEvent
osSignalWait
(int32_t
signals
,
uint32_t
millisec);
//
====
Mutex Management
====
///
Define a Mutex.
///
\p
町
am
name
name
of
the
mutex
object.
///
\note
CAN
BE
CHANGED:
The
parameter
to
\b
osMute
xD
ef
shall
be
consistent
but
the
///
macro body
is
implementation
specific
in
every
CMSIS-RTOS.
#if
defined
(osObjectsExternal)
//
object
is
external
#define
osMutexDef(name) \
extern
const
osMutexDef t
os
mutex
def
##name
#else
一一
/7
define
the
object
#define
osMutexDef(name) \
const
osMutexDef_t os_mutex_def_##name = { 0 }
#endif
///
Access a Mutex
definition.
/ / / \param
name
name
of
the
mutex
object.
///
\note
CAN
BE
CH
川
GED:
The
para
皿
eter
to
\b
osMutex
shall
be
consistent
but
the
///
macro body
is
imp1ementation
specific
in
every
CMSIS-RTOS.
#define
osMutex(name) \
&os
mutex
def
##na
皿
e
///
Create
and
1nitialize
a Mutex
object.
///
\param[in]
mutex_def mutex
definition
referenced
with
\ref
osMutex.
///
\return
mutex
1D
for
reference
by
other
functions
or
阳
LL
in
case
of
error.
///
\note
MUST
REMA1N
UNCHANGED:
\b
osMutexCreate
shall
be
consistent
in
every
CMS1S-RTOS.
osMutexld osMutexCreate (
const
osMutexDef_t *mutex_
def);
///
Wait
until
a
Mutex
becomes
available.
///
\para
皿
[in]
mutex_id mutex
1D
obtained
by
\ref
osMutexCreate.
///
\param[in]
millisec
timeout
value
or
0
in
case
of
no
time-out.
/ / /
\return
status
code
that
indicates
the
execution
status
of
the
function.
///
\note
MUST
REMA1N
UNCHANGED:
\b
osMutexWait
shall
be
consistent
in
every
CMS1S-RTOS.
osStatus
osMutexWait (osMutex1d mutex_id,
uint32_t
millisec)
;
///
Release
a Mutex
that
was
obtained
by
\ref
osMutexWait.
///
\param[in]
mutex_id mutex
1D
obtained
by
\ref
osMutexCreate.
///
\return
status
code
that
indicates
the
execution
status
of
the
function.
///
\note
MUST
REMA1N
UNCHANGED:
\b
osMutexRelease
shall
be
consistent
in
every
CMSIS-RTOS
.
osStatus
osMutexRelease (osMutexld mutex
id);
///
Delete
a Mutex
that
was
created
by
\ref
osMutexCreate.
/ / /
\par
回
[in]
mutex_id mutex
1D
obtained
by
\ref
osMutexCreate.
///
\return
status
code
that
indicates
the
execution
status
of
the
function.
///
\note
MUST
REMA1N
UNCHANGED:
\b
osMutexDelete
shall
be
consistent
in
every
CMS1S-RTOS.
osStatus
osMutexDelete (osMutexld mutex_id) ;
//
====
Semaphore Management
Functions
====
#if
(defined
(osFeature_Semaphore)
&&
(osFeature_Semaphore!=
0))
//
Semaphore
available
///
Define a Semaphore
object
.
///
\param
name
name
of
the
semaphore
object.
///
\note
CAN
BE
CH
川
GED:
The
parameter
to
\b
osSemaphoreDef
shall
be
consistent
but
the
///
macro body
is
implementation
specific
in
every
CMSIS-RTOS.
#if
defined
(osObjectsExternal)
//
object
is
external
#define
osSemaphoreDef(name) \
extern
const
osSemaphoreDef_t
os_semaphore_def_#
鼻name
#else
//
define
the
o
bject
#define
osSemaphoreDef(name) \
const
os
SemaphoreDef_t os_semaphore_
def
_
##name
= { 0 }
#endif
///
A
cce
s s a Semaph
ore
d
ef
ini
t i o
n.
///
\ p
ar
am
name
name
of
th
e
sem
apho
re
o
bject.
http:/
/www
.kei
l.
com
徊笛k1doc1
cmsi
s/R
T
OSIt由
nlfcmsis_os_h.hlml
8111