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

在ucos中如何给一个线程传递大量的数据?

DengQilong 2017-12-11 浏览量:905
数据量有点大,我在程序中定义的是一个4K的数组,这么大多数据怎么传递给另一个线程呢?不能使用全局数组。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 传指针就可以了,只是传递一个参数,就是数组的地址。
    • 发布于 2017-12-11
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :https://atta.szlcsc.com/upload/public/pdf/source/20200407/C508060_C59A8F9A53C9A0736F437D3533C47F10.pdf 回复

其他答案 数量:2
  • 因为两边程序(线程)都是你自己开发的,所以可以通过传递内存地址,也就是指针的形式进行数据交换,保险一点再多传一个数据量大小,再丰富点可以传递数据类型,然后又接收端根据信息或者约定使用指针数据(不过这样有一个风险就是容易造成自由指针)。
    • 发布于2017-12-11
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :IPA50R190CE不是完整订购料号,原厂标准订购料号是有尾缀的 回复

  • 肯定不能用全局变量,无论传什么类型变量,多达多小都不行,全局变量在 实时操作系统中是脏数据。进程之间大量数据通信一般是用信号量传递内存地址也就是指针,或者拆成很多小块用消息队列,两种方法都行。

    • 发布于2017-12-15
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :压纹包装间距不一样,没尾缀D;8毫米间距, 没尾缀的:4毫米间距 回复

相关问题

问题达人换一批

在ucos中如何给一个线程传递大量的数据?