完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
各位原子哥 你们好 我设置了一个消息长度为10的消息队列 在进行一发一收的情况下能够正常工作 然而多次发送消息后接收到的消息就变成0了部分示例代码:
OS_Q KEYQ; u8 keym; OSQCreate ((OS_Q* )&KEYQ, (CPU_CHAR* )"key", (OS_MSG_QTY )10, (OS_ERR* )&err); void task1_task(void *p_arg) { u8 *key; OS_ERR err; OS_MSG_SIZE size; while(1) { key = (u8 *)OSQPend(&KEYQ,0,OS_OPT_PEND_BLOCKING,&size,0,&err); printf("½óêÕ½á1ûterr:%dt½óêÕ:%drnnn",err,*key); OStimeDlyHMSM(0,0,1,1,OS_OPT_TIME_PERIODIC,&err); //Ñóê±10ms } } void task2_task(void *p_arg) { OS_ERR err; while(1) { ledy=~ledy; keym=key_Scan(0); if(keym) { OSQPost(&KEYQ,(void*)&keym,1,OS_OPT_POST_FIFO,&err); printf("·¢Ëí½á1û£oterr%dt·¢Ëí:%drn",err,keym); } OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_PERIODIC,&err); //Ñóê±10ms } } 问题描述: 1,一发一收 可以正常工作 2连续按键就会出现0 还请原子哥解惑哦 谢谢 |
|
相关推荐
2个回答
|
|
|
注意 !!! 你发送的是key,后面你key放开了,key为0,接收到的是此时的key,而不是之前的key,所以key为0,你接收到的就为0
|
|
|
|
|
|
懂了 谢谢
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1022 浏览 1 评论
1852 浏览 0 评论
1833 浏览 1 评论
3258 浏览 5 评论
3585 浏览 9 评论
1024浏览 1评论
1851浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1361浏览 1评论
1853浏览 0评论
1179浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 10:22 , Processed in 1.020025 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4474