rt_mp_creatert_mp_delete rt_mp_alloc 内核对象类 rt_object_allocate rt_object_find idle 线程 rt_defunct_execute ipc 同步和消息机制类 rt_sem_create rt_sem_delete rt_mutex_create rt_mutex_trytake rt_mutex_delete rt_event_create rt_event_delete rt_mb_create rt_mb_delete rt_mq_create rt_...
1rt_sem_t rt_sem_create(const char *name, rt_uint32_t value, rt_uint8_t flag); 1. (1)入口参数: name:信号量名称。 value:信号量初始值。 flag:信号量标志,它可以取如下数值:RT_IPC_FLAG_FIFO或RT_IPC_FLAG_PRIO。 (2)返回值 RT_NULL:创建失败。 信号量的控制块指针:创建成功。 4、删除...
• 对象内存数据块已经存在,需要对它进行初始化 – rt_sem_init; • 对象内存数据块还未分配,需要创建并初始化 – rt_sem_create。 可以这么认为,对象的创建(create)是以对象的初始化(init)为基础的,创建动作相比较而言多了个内存分配的动作。相对应的两类析构方式: • 由rt_sem_init初始化的semaphore...
rt_sem_control(sem, RT_IPC_CMD_RESET, RT_NULL) 对sem重置后,会先把sem上挂起的所有任务进行唤醒(任务的error是-RT_ERROR),然后把sem的值会重新初始化成设定的值。 在官方论坛有如下说明: 在rt_sem_release后使用rt_sem_control的目的是因为在某些应用中必须rt_sem_take和rt_sem_release依次出现,而不允...
rt_err_trt_sem_init(rt_sem_t sem, const char *name, rt_uint32_t value, rt_uint8_t flag) 这个函数参数,除了sem,其他参数跟动态创建信号量函数 rt_sem_create() 的参数相同。 参数sem为信号量控制块的指针,指向用户定义的struct rt_semaphore结构变量的地址。
初始化—rt_sem_init()( 对应静态信号量) ; 建立—rt_sem_create()( 对应动态信号量); 获取—rt_sem_take(); 释放—rt_sem_release(); 脱离—rt_sem_detach()( 对应静态信号量) ; 删除—rt_sem_delete()( 对应动态信号量) ; /*** * * 模块名称 : 功能演示 * 文件名称 : test.c * 版 本...
rt_sem_trt_sem_create(constchar*name,rt_uint32_tvalue,rt_uint8_tflag)参数:1、信号量名字2、信号量值3、标志(先进先出、优先级)返回值:信号量对象rt_err_trt_sem_init(rt_sem_tsem,constchar*name,rt_uint32_tvalue,rt_uint8_tflag)参数:1、信号量对象2、信号量名字3、信号量值4、标志(先进先...
线程的状态 初始态(RT_THREAD_INIT):创建线程时的状态 就绪态(RT_THREAD_READY):线程已经准备执行,只等待CPU调用 运行态(RT_THREAD_RUNNING):线程正在执行,此时在独占CPU 挂起态/阻塞态(RT_THREAD_SUSPEND):正在等待某个时序或者
1. Uart设备常用函数1. 查找串口设备 串口设备可以通过定义字符串设备名字来查找绑定设备。rt_device_t ...
rt_sem_init(&rx_sem,"rx_sem",0,RT_IPC_FLAG_FIFO);//初始化接收信号量 rt_device_set_rx_...