sunnydragon 发表于 2013-5-31 14:32:21

RTT有清空信号量值的API吗?

在设计软件时候,经常用到rt_sem_take(),但在此之前很多时候需要手动的把信号量中值给清空。
我这里手段是把信号量结构体value元素赋值为0,这样编程总感觉很别扭,如果有个系统自带API方法去完成,会让整个软件看起来比较整洁、精密~

tyw996 发表于 2013-5-31 15:00:22

有多少个rt_sem_take()就得对应多少个rt_sem_release(),你要赋0,会不会造成系统崩溃啊。还是换个思路用别的方法取代吧。

aozima 发表于 2013-5-31 16:26:12

rt_sem_control(sem, RT_IPC_CMD_RESET, 0);

sunnydragon 发表于 2013-6-1 13:18:10

aozima 发表于 2013-5-31 16:26 static/image/common/back.gif


3q~这个比较权威~

sunnydragon 发表于 2013-6-1 13:30:51

aozima 发表于 2013-5-31 16:26 static/image/common/back.gif


貌似旧版本RTT(0.3.2)虽然有这个API,但直接返回OK,无具体内容/**
* This function can get or set some extra attributions of a semaphore object.
*
* @param sem the semaphore object
* @param cmd the execution command
* @param arg the execution argument
*
* @return the error code
*/
rt_err_t rt_sem_control(rt_sem_t sem, rt_uint8_t cmd, void* arg)
{
        return RT_EOK;
}
页: [1]
查看完整版本: RTT有清空信号量值的API吗?