RT_Thread应用8—信号量2
第十九章 信号量(第二部分) 一、信号量控制块 每一个信号量都有自己的信号量控制块,信号量控制块中包含了信号量的所有信息, 1 struct rt_semaphore { 2 struct rt_ipc_object parent ; /**< 继承自 ipc_object 类*/ 3 4 rt_uint16_t value ; /**< 信号量的值,最大为 65535 */ 5 } ; 6 typedef struct rt_semaphore * rt_sem_t ; * * rt_semaphore 对象从 rt_ipc_object 中派生,由 IPC 容器管理。 * * 二、常用信号量函数 信息 二值信号量的最大计数值为 1,并且都是使用 RT-Thread 的同一个释放与获取函数,所以在将信号量当二值信号量使用的时候要注意:用完信号量及时释放,并且不要调用多次信号量释放函数。 1、 信号量创建函数 rt_sem_create() 1 rt_sem_t rt_sem_create ( const char *name, ( 1 ) **信号量名称。 ** 2 rt_uint32_t value, ( 2 ) **可用信号量初始值。 ** 3 rt_uint8_t flag ) ( 3 ) **信号量标志。** 4 { 5 rt_sem_t sem ; 6 7 RT