| 作者 | 主题 |
|---|---|
|
陆上行舟 奇侠
经验值:5723 发帖数:1243 精华帖:7 |
楼主
主题:Modbus CRC校验如何测试呢?
网上看到有成熟的程序Modbus CRC校验的程序。 1,问一下如何测试这一段程序呢? 2,CP340里面怎么应用成Modbus 通讯呢? VAR_INPUT DB_NO : INT ; DBB_Start : INT DBB_Counts : INT END_VAR VAR_OUTPUT CRC_H : BYTE CRC_L : BYTE END_VAR VAR_TEMP CRC_REG : WORD DB_NO_TEMP : INT BytesChecked : INT BitsChecked : INT END_VAR BEGIN NETWORK TITLE =
L W#16#FFFF; T #CRC_REG; //预置CRC寄存器 L #DB_NO; T #DB_NO_TEMP; OPN DB L #DBB_Start; //读入校验起始字节 SLD 3; LAR1
L #DBB_Counts; //读入校验字节数量 _A: T #BytesChecked; //字节处理循环 L DBB [AR1,P#0.0]; L LB XOW ; T LB
L 8; _B: T #BitsChecked; //位处理循环 L #CRC_REG; SRW 1; T #CRC_REG; JZ _C; //检验移出位是否为1 L #CRC_REG; L W#16#A001; XOW ; T #CRC_REG;
_C: L #BitsChecked; //校验下个位 LOOP
+AR1 P#1.0; L #BytesChecked; LOOP
L LB T #CRC_H; L LB T #CRC_L; END_FUNCTION
keep moving !
|