Delphi Modbus RTU CRC16校验码的生成方式
在很多的串口通讯中,会使用到CRC16校验。在TIdHashCRC16中,给我们提供了一种CRC校验码的生成方式:TIdHashCRC16继承于TIdHash16这个类,其中覆盖实现了两个方法:然而,当我们直接使用TIdHashCRC16类生成校验码的时候,经常是与设备的校验不匹配的,其原因在于VRunningHash初始化时为0,而我们需要的初始化值应该为0xFFFF。所以,我们需要对这个类进行改造,其中最简单的办法就是找到IdHashCRC.pas文件,把VRunningHash:=0;这个修改为