迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1261|回复: 7

【提问】串口通信传输数据错误

[复制链接]

14

主题

8

回帖

113

积分

注册会员

Rank: 2

积分
113
发表于 2020-7-18 19:58:23 | 显示全部楼层 |阅读模式
在使用电脑串口助手(sscom32)与迪文屏幕进行串口通信时,想通过串口助手向变量地址为0×1000的数据变量显示模块写入数据1,在电脑串口助手上输入5A A5 07 82 10 00 01,但是在屏幕上显示的确实177.03,不知道哪里出错了,附件里有我操作的视频,麻烦各位大神帮小弟看一下。
数据变量显示的变量类型为长整数(4字节),整数位:3;小数位:2
串口显示232:串口线的2号孔接屏幕的232_RX;3号孔接232_TX;5号孔接GND;
屏幕型号是:
DMT80600T080_18WT;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

178

回帖

1117

积分

金牌会员

Rank: 6Rank: 6

积分
1117
发表于 2020-7-18 21:08:21 | 显示全部楼层
指令少了2个字节,应该是5A A5 07 82 1000 0000 0001.
回复

使用道具 举报

14

主题

8

回帖

113

积分

注册会员

Rank: 2

积分
113
 楼主| 发表于 2020-7-18 21:18:09 | 显示全部楼层
shirap12peng 发表于 2020-7-18 21:08
指令少了2个字节,应该是5A A5 07 82 1000 0000 0001.

还是不对啊,输入5A A5 07 82 1000 0000 0001,屏幕上显示的是0.01啊?
回复

使用道具 举报

3

主题

111

回帖

1932

积分

金牌会员

Rank: 6Rank: 6

积分
1932
发表于 2020-7-18 21:26:51 | 显示全部楼层
1358481340 发表于 2020-7-18 21:18
还是不对啊,输入5A A5 07 82 1000 0000 0001,屏幕上显示的是0.01啊?

楼主发5A A5 07 82 1000 0000 0064可以显示1.00,两位定点小数。
回复

使用道具 举报

14

主题

8

回帖

113

积分

注册会员

Rank: 2

积分
113
 楼主| 发表于 2020-7-18 21:33:45 | 显示全部楼层
dwin123456 发表于 2020-7-18 21:26
楼主发5A A5 07 82 1000 0000 0064可以显示1.00,两位定点小数。

可以说一下为啥吗?这个指令的数据不是十六进制的吗?为啥最后输入0064就可以显示1啊?可以说一下这个是怎么计算的吗?
回复

使用道具 举报

0

主题

178

回帖

1117

积分

金牌会员

Rank: 6Rank: 6

积分
1117
发表于 2020-7-18 21:37:05 | 显示全部楼层
您设置了2位小数  我们是定点小数  所以您发数据要把小数位计算进去,发1就是显示0.01   100就是1.00
回复

使用道具 举报

14

主题

8

回帖

113

积分

注册会员

Rank: 2

积分
113
 楼主| 发表于 2020-7-18 22:04:47 | 显示全部楼层
本帖最后由 1358481340 于 2020-7-19 09:03 编辑
shirap12peng 发表于 2020-7-18 21:37
您设置了2位小数  我们是定点小数  所以您发数据要把小数位计算进去,发1就是显示0.01   100就是1.00  ...

谢谢您了,可以在问下在两位定点小数的情况下,我想读取变量地址为0×1000的数据,屏幕中输入16,我输入指令5A A5 04 83 10 00 02,返回的数据是5A A5 08 83 10 00 02 00 00 06 40 ,数据中0640是指16,那从地址1000后的02 00 00是啥意思啊?
回复

使用道具 举报

0

主题

62

回帖

2120

积分

金牌会员

Rank: 6Rank: 6

积分
2120
发表于 2020-7-20 08:50:08 | 显示全部楼层
1358481340 发表于 2020-7-18 22:04
谢谢您了,可以在问下在两位定点小数的情况下,我想读取变量地址为0×1000的数据,屏幕中输入16,我输入指 ...

我也是刚学的,我这样理解的:5A A5帧头,08数据长度,83读指令,1000变量地址,02两个字长,0000 0640=长整数1600加两位小数=16.00。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 10:55 , Processed in 0.096842 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表