完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ucosII的消息队列传递的是指针,那么这个需要传递的指针是不是必须是全局变量或是malloc分配后的指针?
如果一个指针ptr的内容是1,用OSQPost()发送之后,在OSQPend接收之前,指针ptr的内容变为0,那么最后OSQPend接收到底指针内容也是0吧? |
|
相关推荐
7个回答
|
|
问题是不管你发送的是什么,这些是应用处理的,你应该管理好你的代码,系统本身肯定不会在中间修改你的东西。如果修改了,肯定是你的代码哪里还继续修改了指针的内容,你应该问你自己为啥这样写代码。就像在windows上实现一个异步串口发送数据一样,当你send后数据已经被内部new出来的新buf存放,并发送到写线程,你哪里有机会修改里面的内容啊?
|
|
|
|
发送的东西难道还有人会去改吗?
|
|
|
|
|
|
|
|
路过学习
|
|
|
|
发送的是指针首地址,发送完以后,他还是从你发送的地址去读/写,但是你如果这个内存释放,或者给其他程序用,就有可能有问题了。
|
|
|
|
谢谢各位的关注!我程序中有个扫描任务,需要将扫描结果传递给其他任务,每次的扫描结果都是输出到同一个buf上的,而这个扫描任务有可能会在某段时间内多次Post。如果仅仅只是传递这个buf的指针,这个消息会被后来的扫描结果覆盖掉,也就是说收到的多个消息都是一样的。
|
|
|
|
使用内存池,然后从内存池里面申请一段内存存放你的扫描信息,然后发送,处理任务接收到消息,处理完释放内存。如果你用扫描信息长度是固定的,可以用os自带的内存管理函数。不然用开发板推荐的吧。我上面给你举串口的例子都说了,你都没看懂
|
|
|
|
只有小组成员才能发言,加入小组>>
683 浏览 1 评论
2113 浏览 5 评论
2420 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2186 浏览 6 评论
2158 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
307浏览 9评论
295浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
431浏览 6评论
295浏览 5评论
344浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 07:14 , Processed in 0.866437 second(s), Total 77, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号