完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
初学UCOS没多久,据说使用系统最好别用全局变量,于是用邮箱来传递,做邮箱实验时发现:
我先创建了一个邮箱M,然后task1中 把局部变量a放到邮箱,其实就是把a的地址赋值给邮箱M中OSEventPtr; 然后task2中,申请邮箱M,然后OSMboxPend返回的是一个指针,那就定义了一个 u8 *b(局部)来接受,其实OSMboxPend返回的就是OSEventPtr也就是a的地址; 那我的疑惑就来了,,那最终就是让*b指向了a,懂的人教一下,首先这理解对不对啊?对的话那跟我定义一个全局变量给两个任务使用有什么不一样?? |
|
相关推荐
4个回答
|
|
他帮你封装好,这样你运用或者以后其他人接手你的工作看代码都会省事。
|
|
|
|
理解是对的,但是不能用全局变量给两个任务用。这是应为有U同步有互斥,一个全局变量两个任务都可以赋值的,等待如何解决?
|
|
|
|
实现的效果是一样的,如果用全局变量等于没有用到UCOS的精髓了,
|
|
|
|
理解是对的,但是不能用全局变量给两个任务用。这是应为有U同步有互斥,一个全局变量两个任务都可以赋值的,等待如何解决?
|
|
|
|
只有小组成员才能发言,加入小组>>
UCOSII中断中添加OSSemPost(Sem);程序无法运行
4979 浏览 1 评论
在BC5.0上编译uC/OS-II出现"eeror writing object file",怎样处理???
3193 浏览 1 评论
560浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:45 , Processed in 0.716825 second(s), Total 87, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号