digitalfans

digitalfans

0个粉丝

8

问答

0

专栏

7

资料

digitalfans  发布于  2013-11-28 22:03:02
采纳率 0%
8个问答
2567

较大的数据怎么通过串口传递呀

 

下位机传给上位机。
比如传递的数据 555 5533 4444  这样的。

拆开传感觉比较麻烦。
我来回答
回答1个
时间排序
认可量排序

alienguy

0个粉丝

10

问答

0

专栏

13

资料

alienguy 2013-11-28 22:15:32
认可0
本帖最后由 alienguy 于 2013-11-28 22:16 编辑

对与这样的问题其实并不难解决
C语言中很多特性可以加以利用。一个long型的数据的确会很长,但是他在计算机中的存储方式也是一个字接一个字节存储的,串口发送也是一个自接一个字节发送的,这没什么矛盾,矛盾就在与你怎看这4个八位二进制
假如我有三个long型的整数,如何才能准确传输呢?
我们作如下定义
typedef struct

    long num1;
    long num2;
    long num3;
}databag;
那么该结构体的大小应该是3X4=12字节,再作如下定义
union

    databag datasave;
    uchar datasend[12];
}dat;
可以看到datasave与datasend大小一样,空间重叠。如果你直接发送dat.datasend[],并约定好接收侧直接把这12个数据理解成databag类型的,
如temp1=dat.datasave.num1;
temp2=dat.datasave.num2;
temp3=dat.datasave.num3;
在这个过程中数据有多大有什么关系吗?没有
推广一下,即便是你的数据是64位,128位等等,传输的时候没有人知道你是什么数据,关键只在于传输完成后你怎么认知这个数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区