求助:rt_signal_wait()的使用

发布于 2021-05-02 11:40:10

谁能给我来个:rt_signal_wait()函数的使用实例,弄了好久都没理解使用。
说明一下3个参数的使用。

查看更多

关注者
0
被浏览
58
YZRD
YZRD 5 days ago

可以使用信号量获取函数的超时功能:
rt_err_t rt_sem_take (rt_sem_t sem, rt_int32_t time)如果在参数 time 指定的时间内依然得不到信号量,线程将超时返回,返回值是 - RT_ETIMEOUT。

4 个回答
cxhxy12345
cxhxy12345 2021-05-02

/*

  • @param set:指定等待的信号
  • @param si: 指向存储等到信号信息的指针
  • @param timeout:指定的等待时间
  • return: RT_EOK 等到信号
  • -RT_ETIMEOUT 超时
  • -RT_EINVAL 参数错误

*/
int rt_signal_wait(const rt_sigset_t set, rt_siginfo_t si, rt_int32_t timeout)
具体案例看
https://www.rt-thread.org/document/api/signal_sample_8c-example.html#a9

flashman2002
flashman2002 6 days ago

RTT的一般应用中不使用signal机制。具体函数应用需要查询文档

13128685741
13128685741 6 days ago

找了好多文档都没有关于 rt_signal_wait()函数的使用实例。不使用signal机制,用什么函数能实现以下的线程功能:有 “线程1” “线程2” 两个线程,如线程1运行后,线程2要跟着运行1次,如线程1一直没有运行,线程2要以2秒的间隔运行一次。用什么方式方便实现。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览