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

freertos中是如何实现两个任务的数据交换的

夹心英雄 2019-05-27 浏览量:1255
freertos中是如何实现两个任务的数据交换的
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、信号量

    2、队列

    不建议使用全局变量,这样容易导致数据异常

    • 发布于 2019-05-27
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 数据交换可以使用一个全局临时变量,把a任务的数据放到临时变量里面,b任务的数据赋值给a任务,临时变量里面的数据赋值给b任务,这样就可以完成数据交换
    • 发布于2019-05-27
    • 举报
    • 评论 0
    • 3
    • 0

  • 简单的数据交换可以用消息队列,创建两个队列,两个任务分别向两个队列发数据,并接受另外一个队列数据。大量数据交换可以用内存池+互斥信号量。
    • 发布于2019-05-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 在RTOS中,还是比较简单的,

    可以使用全局变量

    可以使用信号业,队列,邮箱这些系统支持的通讯方式

    • 发布于2019-05-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用全局变量来存储数据,不同线程访问的时候加互斥锁,防止访问异常跑飞。
    • 发布于2019-05-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 再FReeRtos中可以使用信号量或队列,队列是比较常用的方法,不建议使用全局变量来交换数据
    • 发布于2019-05-28
    • 举报
    • 评论 0
    • 0
    • 0

  • freertos可以使用队列来实现数据交互,如果涉及到比较多数据的,可以用队列来传指针,指针指向数据保存的位置

    如果只是要传递某些状态信息,可以用信号量实现

    • 发布于2019-05-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

freertos中是如何实现两个任务的数据交换的