• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
楼主  发表于: 2020-08-14 16:24
想请教各位大师,这个CRC校验码到底有啥用,是如何计算
我用串口调试助手发送 读取MODBUS温控器温度
00 03 0000 0004
没有填写校验码,助手上校验码哪里就自动得出5C44
发送完后温控器返回:
04 03 08 00DB 00DD 00CF 00D2 B3 67
B367事校验码
那么问题是:
1助手上5C44是怎么出来的
2温控器返回B367是怎么算的
3为什么我不发送效验码温控器也能返回数值
斗志不能低
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
1楼  发表于: 2020-08-15 09:20
   那么多人看没人回复,自己顶。。别沉了。。。
斗志不能低
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
2楼  发表于: 2020-08-15 09:21
发送时点击了校验码按钮就能接受到数值,没有点击就收不到
斗志不能低
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
3楼  发表于: 2020-08-15 09:24
如图,回复的 04 03 08 00 DD 00 E0 00 DF 00 E1 F9 72
00 DD 00 E0 00 DF 00 E1为接收的数值
F972怎么得来的啊
斗志不能低
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
4楼  发表于: 2020-08-15 09:25

斗志不能低
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 3768 个
工控威望: 7113 点
下载积分: 13021 分
在线时间: 2496(小时)
注册时间: 2016-10-31
最后登录: 2024-05-04
查看梦雨天涯的 主题 / 回贴
5楼  发表于: 2020-08-15 09:48
图片:
最好上传说明书,我也不知道你的校验码是否正确……但是我的用过别的变频器通讯的,是正确的
微信hui530527      b站账号,梦雨天涯1991
请不要随意加我,不会随便通过。QQ群942493953
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 3768 个
工控威望: 7113 点
下载积分: 13021 分
在线时间: 2496(小时)
注册时间: 2016-10-31
最后登录: 2024-05-04
查看梦雨天涯的 主题 / 回贴
6楼  发表于: 2020-08-15 09:50
图片:
好好想一下……返回的校验我看了,是一样的,也就是你发送的有问题
微信hui530527      b站账号,梦雨天涯1991
请不要随意加我,不会随便通过。QQ群942493953
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
7楼  发表于: 2020-08-15 10:17
你第一个站号写得00  应该是04 我主要不明白这个CRC校验是咋算的,,
斗志不能低
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 3768 个
工控威望: 7113 点
下载积分: 13021 分
在线时间: 2496(小时)
注册时间: 2016-10-31
最后登录: 2024-05-04
查看梦雨天涯的 主题 / 回贴
8楼  发表于: 2020-08-15 10:25
引用
引用第7楼一路向前hg于2020-08-15 10:17发表的  :
你第一个站号写得00  应该是04 我主要不明白这个CRC校验是咋算的,,

你管他怎么算用软件来算就对了
微信hui530527      b站账号,梦雨天涯1991
请不要随意加我,不会随便通过。QQ群942493953
一路向前hg
相互学习,共同进步!
级别: 略有小成
精华主题: 0
发帖数量: 228 个
工控威望: 301 点
下载积分: 912 分
在线时间: 144(小时)
注册时间: 2019-12-07
最后登录: 2024-05-05
查看一路向前hg的 主题 / 回贴
9楼  发表于: 2020-08-15 10:27
引用
引用第6楼梦雨天涯于2020-08-15 09:50发表的  :
好好想一下……返回的校验我看了,是一样的,也就是你发送的有问题

谢谢回答,这个校验码是我发送多少,接收就是多少吗?
还是根据发送的数据算出校验码是多少,就是多少
斗志不能低
txarcher
级别: 略有小成
精华主题: 0
发帖数量: 67 个
工控威望: 212 点
下载积分: 1872 分
在线时间: 63(小时)
注册时间: 2012-10-25
最后登录: 2023-07-08
查看txarcher的 主题 / 回贴
10楼  发表于: 2020-08-15 10:48
CRC校验码在网上是有计算公式的,不过现在一般的指令都自带了,所以很少去记了,校验码是按找你发送的数据进行计算的, 如你发送6个数据,CRC就会根据你这个6个数据来计算,返回的数据是,返回8个数据,最后两位是CRC校验码,根据前面的6个数据来计算得出
微鑫科技
级别: 正式会员
精华主题: 0
发帖数量: 51 个
工控威望: 89 点
下载积分: 640 分
在线时间: 9(小时)
注册时间: 2020-08-03
最后登录: 2024-05-04
查看微鑫科技的 主题 / 回贴
11楼  发表于: 2020-08-15 22:38
unsigned int MOD_BUS(void)//MODBUS校验码计算函数
{
    unsigned int x=0xffff;
    unsigned char i,n;        
    for(i=0;i<12;i++)//这里的12是指有12个数据,根据不同的数据量做适当的修改
    {
        x^=SYS_DATA;
        for(n=0;n<8;n++)
        {        
            if(x&0x01)
            {
                x=(x>>1)^0xa001;
            }
            else
            {
                x=x>>1;
            }
        }            
    }
    return x;
}
这个就是。
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go