完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我在同一个任务中需多次使用串口发送数据。故有多次请求同一互斥信号量,在串口发送完成中断释放互斥信号量。仿真证明,互斥信号量没起到应有的作用。
代码如下,跪求大神解惑!!! [AppleScript] 纯文本查看 复制代码 if(err == OS_ERR_NONE)//获得消息了{res = cmd_receive((u8 *)msg);OSMutexPend(&uart4MUTEX,0,OS_OPT_PEND_BLOCKING,&qts,&err);//阻塞等待usart4发送完成信号量Send104(res,(u8 *)msg);}if(res == I_GNEREAL_live)//若收到了总召唤激活{res = I_GNEREAL_YX;//重设res值,防止错误的进入此判断OSMutexPend(&uart4MUTEX,0,OS_OPT_PEND_BLOCKING,&qts,&err);//阻塞等待usart4发送完成信号量Send104(res,0);//设置发送遥信帧OSMutexPend(&uart4MUTEX,0,OS_OPT_PEND_BLOCKING,&qts,&err);//阻塞等待usart4发送完成信号量Send104(I_GNEREAL_YC,0);//设置发送遥测帧} |
|
相关推荐
5个回答
|
|
|
|
|
|
为啥先OSMutexPend,然后发送Send104
|
|
|
|
|
|
pend先获得串口的使用权,send104是串口发送函数,在串口发送完毕后会有post mutex。这样别的串口发送函数才能正常使用串口。否则串口发送数据就乱了,现在的问题是就算我这样写也还是乱的。归根结底是互斥信号量没起到应有的作用
|
|
|
|
|
|
发送完的TC中断正常吗?
|
|
|
|
|
|
互斥量我的项目里用的好好的啊。估计还是你使用错误了。如果没法送过数据,然后OSMutexPend,那么你的程序不是会超时。
程序打印的东西出来,你这样说互斥信号量没起作用,也不清楚具体哪里出了问题啊。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1177浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:21 , Processed in 0.648432 second(s), Total 52, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2036