• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

使用RTOS后,任务间建通讯以及参数传递问题

川楠 2019-01-16 浏览量:991

任务间通讯,可以使用RTOS提供的API函数或者队列等。

使用全局变量好像也不是不可以。

这两种方式都可以。

请问:两者的优缺点有什么不同,推荐怎么使用?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 全局变量也是可以,起始RTOS任务之间的参数传递最底层本质还是全局变量,但是不是直接使用的,RTOS提供相关函数接口都是有保护机制,不会出现意外情况。但是你自己写的仅仅是一个全局变量的话,有可能会出现意想不到的情况。
    • 发布于 2019-01-16
    • 举报
    • 评论 1
    • 1
    • 0
2016大圣 回复了 我是假管贴心小助手:点赞 回复

其他答案 数量:9
  • 全局变量不安全,如果一个还没写好,另外一个读取就会数据出错,应该一个任务先写好,然后一个任务才能读取
    • 发布于2019-01-16
    • 举报
    • 评论 1
    • 1
    • 0
2016大圣 回复了 yhj416606438 :点赞 回复

2016大圣 回复了 feiante :点赞 回复

  • 全局变量在使用的时候,如果控制好读写互斥,那跟系统的队列差别就不大了
    • 发布于2019-01-17
    • 举报
    • 评论 1
    • 0
    • 0
2016大圣 回复了 chen0000009 :点赞 回复

  • 最好用全局变量,免得数据变化
    • 发布于2019-01-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 全局变量肯定不可以,全局变量是脏数据,只能用信号量或者邮箱。
    • 发布于2019-01-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 全局变量要尽可能的少,如果实在要用,注意用结构体的方式
    • 发布于2019-02-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 不要用全局变量,用的信号量好一点
    • 发布于2019-02-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

使用RTOS后,任务间建通讯以及参数传递问题