rt_event_t rt_event_create(const char* name, rt_uint8_t flag); 参数name为事件集的名称;flag为事件集的标志,取值为RT_IPC_FLAG_FIFO或RT_IPC_FLAG_PRIO,这两个标志值之前介绍过。 创建成功,返回事件控制块的句柄。创建失败,则返回 RT_NULL。 调用这个函数接口时,系统会从对象管理器中分配一个事件集...
RT_IPC_FLAG_FIFO,多个等待互斥量的线程按照先进先出的方式进行排序。 静态方式创建互斥量需要两步:(1)定义一个互斥量控制块结构体变量(2)调用函数对其初始化。 初始化互斥量的函数接口如下: rt_err_t rt_mutex_init (rt_mutex_t mutex, const char* name, rt_uint8_t flag) 该函数对参数mutex指定的互斥...
5、flag 邮箱标志,它可以取如下数值: RT_IPC_FLAG_FIFO 或 RT_IPC_FLAG_PRIO 返回 RT_EOK 成功 */rt_err_trt_mb_init(rt_mailbox_tmb,constchar*name,void*msgpool,rt_size_tsize,rt_uint8_tflag) 脱离邮箱: /** 参数的含义: mb 邮箱对象的句柄 返回 RT_EOK 成功 */rt_err_trt_mb_detach(rt...
rt_event_t rt_event_create(const char* name, rt_uint8_t flag); 1. 参数name为事件集的名称;flag为事件集的标志,取值为RT_IPC_FLAG_FIFO或RT_IPC_FLAG_PRIO,这两个标志值之前介绍过。 创建成功,返回事件控制块的句柄。创建失败,则返回 RT_NULL。 调用这个函数接口时,系统会从对象管理器中分配一个事...
RT_IPC_FLAG_FIFO,等待邮箱的线程按照先进先出的方式进行排列。 RT_IPC_FLAG_PRIO,等待邮箱的线程按照优先级的方式进行排列。 2. 发送邮件 RT-Thread 提供的发送邮件接口函数有两种:一种是无等待超时接口,一种是有等待超时。 线程或者中断服务程序可以通过邮箱给其他线程发送消息,发送邮件的函数接口如下,此函数没有...
RT_IPC_FLAG_FIFO,等待邮箱的线程按照先进先出的方式进行排列。 RT_IPC_FLAG_PRIO,等待邮箱的线程按照优先级的方式进行排列。 2. 发送邮件 RT-Thread 提供的发送邮件接口函数有两种:一种是无等待超时接口,一种是有等待超时。 线程或者中断服务程序可以通过邮箱给其他线程发送消息,发送邮件的函数接口如下,此函数没有...
result= rt_sem_init(&static_sem,"ssem",0, RT_IPC_FLAG_FIFO);if(result !=RT_EOK) { rt_kprintf("init static semaphore failed. \n");return-1; } dynamic_sem= rt_sem_create("dsem",0, RT_IPC_FLAG_FIFO);if(dynamic_sem ==RT_NULL) ...
当选择 RT_IPC_FLAG_FIFO(先进先出)方式时,那么等待线程队列将按照先进先出的方式排队,先进入的线程将先获得等待的信号量; 当选择 RT_IPC_FLAG_PRIO(优先级等待)方式时,等待线程队列将按照优先级进行排队,优先级高的等待线程将先获得等待的信号量。
(1)入口参数:name:邮箱名称。size:邮箱容量。flag:邮箱标志,它可以取如下数值:RT_IPC_FLAG_FIFO 或RT_IPC_FLAG_PRIO(2)返回值:RT_NULL:创建失败。邮箱对象的句柄:创建成功。 2、删除动态邮箱函数:当用 rt_mb_create() 创建的邮箱不再被使用时,应该删除它来释放相应的系统资源,一旦操作完成,邮箱将被永久性...
一、IPC机制 二、信号量 2.1 信号量控制块 2.2 信号量操作 2.2.1 创建和删除 2.2.2 初始化和脱离 2.2.3 获取信号量 2.2.4 释放信号量 2.2.5 信号量控制 2.3 示例(典型停车场模型) 三、互斥量 3.1 优先级翻转 3.2 优先级继承 3.3 互斥量控制块 ...