1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,想请问下下面的函数
INT8U OSQPost (OS_EVENT *pevent, void *msg); 给msg传递的是不是要是全局的内存地址? 而不能传局部的内存地址? |
|
相关推荐
8个回答
|
|
只要保证OSQPost 函数在执行完毕之前该局部变量尚未被回收即可
|
|
|
|
这个不好保证吧,程序运行的时候状态无法把握,那么就是说要用全局变量了?
|
|
|
|
比如说这样:
[C] 纯文本查看 复制代码 void test(void){ OS_EVENT x; char s[80]; /* other code */ OSQPost(&x, (void*)s); /* other code */} 完全可以,因为那两个变量是由test函数从栈里申请的,test函数还没有执行完毕,当然未被回收,所以可以传参数给OSQPost, |
|
|
|
要是因为某种原因,test已经执行完了,而OPQPend还没收到,那消息的源地址找不到了,接收方收到的不知道是啥了,有这种可能吧
|
|
|
|
包裹都寄出去了,寄件方消失,包裹就送不到了?
|
|
|
|
接收方是能收到,但是发送方给的地址被系统收回了,那接收方找的那个地址就可能不对了吧
|
|
|
|
|
|
|
|
呵呵,感觉你根本没有系统的概念,还在执着源地址
|
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1073浏览 3评论
195浏览 2评论
457浏览 2评论
370浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:07 , Processed in 1.037664 second(s), Total 62, Slave 53 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号