发送到串口的数据,串口接收是相反的?

7年 2012-12-03 10:30:15
发送到串口的数据是
handshake.messageHead := $AA2F;
handshake.messageLen := $00000009;
handshake.messageType := $00;
handshake.messageAcc := $00E2;

接收到的却是 2F AA 09 00 00 00 00 E2 00

这是为啥?

串口状态如下:
cc.dcb.BaudRate:=115200; //波特率
cc.dcb.ByteSize:=8; //数据位
cc.dcb.Parity := NOPARITY; //校验位
cc.dcb.StopBits := ONESTOPBIT; //停止位
...全文
1747 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
勉励前行 2012-12-04
  • 打赏
  • 举报
回复
先將记录串行化,然后再发。这样就与字节高低就没关系了。
看那山瞧那水 2012-12-04
  • 打赏
  • 举报
回复
这和串口没什么关系,串口只是把字节流按顺序发出而已,看你是怎么组织这个要发的数据(可以理解为字节数组),看你的情况,是"字节在前,高字节在后"的发顺序,你也可以"高字节在前,低字节在后"发。
7年 2012-12-03
  • 打赏
  • 举报
回复
嗯,问题找到了。除了将发送的反着写或者一个字节一个字节写以外,还有别的方法吗?
Oraclers 2012-12-03
  • 打赏
  • 举报
回复
在内存中的存放是按字节“低位在前,高位在后”的顺序存放的。
7年 2012-12-03
  • 打赏
  • 举报
回复
我发送的就是个记录啊?没明白什么意思,详细说说呗,谢谢啦
Oraclers 2012-12-03
  • 打赏
  • 举报
回复
引用 2 楼 zzflover 的回复:
嗯,问题找到了。除了将发送的反着写或者一个字节一个字节写以外,还有别的方法吗?
可以定义一个记录,然后读到记录中,对应的字节会转为相应记录中定义的类型。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧