rt_uint32_t number_mask;/* 事件 */#ifdefined(RT_USING_EVENT)/* thread event */rt_uint32_t event_set;/* 事件集合 */rt_uint8_t event_info;#endif #ifdefined(RT_USING_SIGNALS)rt_sigset_t sig_pending;/**< the pending signals */rt_sigset_t sig_mask;/**< the mask bits of sign...
#ifdef RT_USING_EVENT/** * flag defintions in event*/#defineRT_EVENT_FLAG_AND 0x01 /**< logic and */#defineRT_EVENT_FLAG_OR 0x02 /**< logic or */#defineRT_EVENT_FLAG_CLEAR 0x04 /**< clear flag *//** event structure*/structrt_event {structrt_ipc_object parent;/**< inheri...
priority 优先级*/rt_uint8_tcurrent_priority;/**< current priority 当前优先级 */rt_uint8_tinit_priority;/**< initialized priority 初始优先级 */#ifRT_THREAD_PRIORITY_MAX > 32rt_uint8_tnumber;rt_uint8_thigh_mask;#endifrt_uint32_tnumber_mask;#ifdefined(RT_USING_EVENT)/*使用事件集*//...
/** * Thread structure */struct rt_thread{ /* rt object */ char name[RT_NAME_MAX]; /**< the name of thread 线程名称*/ rt_uint8_t type; /**< type of object 对象类型*/ rt_uint8_t flags; /**< thread's flags 标志位*/#ifdef RT_USING_MODULE void *module_id; /**< id o...
MUTEX/* 定义该宏可开启事件集的使用, 未定义则关闭 */#define RT_USING_EVENT/* 定义该宏可开启邮箱的使用, 未定义则关闭 */#define RT_USING_MAILBOX/* 定义该宏可开启消息队列的使用, 未定义则关闭 */#define RT_USING_MESSAGEQUEUE/* 定义该宏可开启信号的使用, 未定义则关闭 */#define RT_USING_...
#ifdefRT_USING_MUTEX/* initialize object container - mutex */{RT_Object_Class_Mutex,_OBJ_CONTAINER_LIST_INIT(RT_Object_Info_Mutex),sizeof(struct rt_mutex)},#endif #ifdefRT_USING_EVENT/* initialize object container - event */{RT_Object_Class_Event,_OBJ_CONTAINER_LIST_INIT(RT_Object_Info...
#ifdef RT_USING_EVENT /** * flag defintions in event * 逻辑与 * 逻辑或 * 清除标志位 */ #define RT_EVENT_FLAG_AND 0x01 /**< logic and */ #define RT_EVENT_FLAG_OR 0x02 /**< logic or */ #define RT_EVENT_FLAG_CLEAR 0x04 /**< clear flag */ ...
#define RT_USING_SEMAPHORE // 设置是否使用 信号量 //#define RT_USING_MUTEX // 设置是否使用 互斥量 //#define RT_USING_EVENT // 设置是否使用 事件集 #define RT_USING_MAILBOX // 设置是否使用 邮箱 //#define RT_USING_MESSAGEQUEUE // 设置是否使用 消息队列 ...
RT-Thread 提供了一种线程同步的方式:信号量(semaphore)、 互斥量(mutex)、和事件集(event)。本篇文章主要介绍信号量相关的内容。 第一:信号量的工作机制 信号量是一种可以用来解决线程间同步问题的内核对象,线程通过获取和释放信号量,来达到同步的目的。
rt_event对象从rt_ipc_object中派生,由 IPC容器管理。结构体rt_ipc_object定义如下: struct rt_object{char name[RT_NAME_MAX]; /* 内核对象名称 */rt_uint8_t type; /* 内核对象类型 */rt_uint8_t flag; /* 内核对象的参数 */#ifdef RT_USING_MODULEvoid *module_id; /* 应用程序模块 ID */#...