完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
问题零:添加看门狗之前,好多天,遇到2次卡死;添加看门狗之后,经常复位,今天已经十多次了。不知道是程序本身有问题,还是看门狗添加不对导致的。 问题一:溢出时间timeout可以设置多少?我的需求是程序卡死后,能自己重启就行,现在是5s static int wdt_sample(void) 问题二:事件组send函数,如果我send了,但是还在等待其他线程发送事件,此时如果我再发送一个,这个event还是只有一个,对吧 rt_event_send(&feed_dog_event, EVENT_FLAG3); void feed_dog(void* parameter) |
|
相关推荐
8个回答
|
|
|
收事件那里是不是改成或逻辑比较好?
rt_thread_delay的单位是tick,要看下你配置的一秒是多少tick,建议换成rt_thread_mdelay()来实现毫秒级别的延时,另外这个延时应该是可以去掉的。 |
|
|
|
|
|
嗯,应该是按位或。
但是有新问题,就是接收的时候,有一个event发送过来,就会把整个32位清零了,比如 1 3来,就清零,然后 2 4 5来了,但是已经清零了,就不符合条件了 |
|
|
|
|
|
你的rt_event_recv写错了,应该是:rt_event_recv(&event, (EVENT_FLAG3 | EVENT_FLAG5),
RT_EVENT_FLAG_AND | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER, &e) |
|
|
|
|
|
|
|
|
|
|
|
还有 event_clear应该用吗?我是监控5个线程是否发出事件,有1个线程发出事件,就会把32位的标志位清除掉,剩下4个产生事件,过来的时候,因为1已经产生完了,if语句条件就不成立了。
但是我要的是5个条件都成立,再clear,有啥办法 |
|
|
|
|
|
读一下event_send的实现源码, 接收到单独事件是不会clear,除非你在别的地方recv 了这个事件
|
|
|
|
|
|
使用RT_EVENT_FLAG_AND | RT_EVENT_FLAG_CLEAR是表示所有事件都发生后才clear的。
|
|
|
|
|
|
可以设置timeout,不一定非要RT_WAITING_FOREVER
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1033 浏览 0 评论
2877 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9386 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2898 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2302 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:24 , Processed in 0.864674 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2140