Documentation
¶
Index ¶
Constants ¶
View Source
const ( CRC_4_ITU = "CRC-4/ITU" CRC_4_ITU_ALIAS = "CRC-4-ITU" CRC_5_EPC = "CRC-5/EPC" CRC_5_EPC_ALIAS = "CRC-5-EPC" CRC_5_ITU = "CRC-5/ITU" CRC_5_ITU_ALIAS = "CRC-5-ITU" CRC_5_USB = "CRC-5/USB" CRC_5_USB_ALIAS = "CRC-5-USB" CRC_6_ITU = "CRC-6/ITU" CRC_6_ITU_ALIAS = "CRC-6-ITU" CRC_7_MMC = "CRC-7/MMC" CRC_7_MMC_ALIAS = "CRC-7-MMC" CRC_8 = "CRC-8" CRC_8_ALIAS = "CRC-8" CRC_8_ITU = "CRC-8/ITU" CRC_8_ITU_ALIAS = "CRC-8-ITU" CRC_8_ROHC = "CRC-8/ROHC" CRC_8_ROHC_ALIAS = "CRC-8-ROHC" CRC_8_MAXIM = "CRC-8/MAXIM" CRC_8_MAXIM_ALIAS = "CRC-8-MAXIM" CRC_16_IBM = "CRC-16/IBM" CRC_16_IBM_ALIAS = "CRC-16-IBM" CRC_16_MAXIM = "CRC-16/MAXIM" CRC_16_MAXIM_ALIAS = "CRC-16-MAXIM" CRC_16_USB = "CRC-16/USB" CRC_16_USB_ALIAS = "CRC-16-USB" CRC_16_MODBUS = "CRC-16/MODBUS" // width: 16; poly: x16+x15+x2+1 正序: 0x8005,逆序: 0xA001; init: 0xFFFF; xorout: 0x0000; 结果低位在前(左),高位在后(右) CRC_16_MODBUS_ALIAS = "CRC-16-MODBUS" // width: 16; poly: x16+x15+x2+1 正序: 0x8005,逆序: 0xA001; init: 0xFFFF; xorout: 0x0000; 结果低位在前(左),高位在后(右) CRC_16_CCITT = "CRC-16/CCITT" CRC_16_CCITT_ALIAS = "CRC-16-CCITT" CRC_16_CCITT_FALSE = "CRC-16/CCITT-FALSE" CRC_16_CCITT_FALSE_ALIAS = "CRC-16-CCITT-FALSE" CRC_16_X25 = "CRC-16/X25" CRC_16_X25_ALIAS = "CRC-16-X25" CRC_16_XMODEM = "CRC-16/XMODEM" CRC_16_XMODEM_ALIAS = "CRC-16-XMODEM" CRC_16_XMODEM2 = "CRC-16/XMODEM2" CRC_16_XMODEM2_ALIAS = "CRC-16-XMODEM2" CRC_16_DNP = "CRC-16/DNP" CRC_16_DNP_ALIAS = "CRC-16-DNP" CRC_32 = "CRC-32" CRC_32_ALIAS = "CRC-32" CRC_32_C = "CRC-32/C" CRC_32_C_ALIAS = "CRC-32-C" CRC_32_KOOPMAN = "CRC-32/KOOPMAN" CRC_32_KOOPMAN_ALIAS = "CRC-32-KOOPMAN" CRC_32_MPEG_2 = "CRC-32/MPEG-2" CRC_32_MPEG_2_ALIAS = "CRC-32-MPEG-2" CRC_64_ISO = "CRC-64/ISO" CRC_64_ISO_ALIAS = "CRC-64-ISO" CRC_64_ECMA = "CRC-64/ECMA" CRC_64_ECMA_ALIAS = "CRC-64-ECMA" )
View Source
const ( REF_4BIT reflectedMode = 4 REF_5BIT reflectedMode = 5 REF_6BIT reflectedMode = 6 REF_7BIT reflectedMode = 7 REF_8BIT reflectedMode = 8 REF_16BIT reflectedMode = 16 REF_24BIT reflectedMode = 24 REF_32BIT reflectedMode = 32 )
Variables ¶
This section is empty.
Functions ¶
func ReflectedData ¶
Types ¶
type CRC ¶
type CRC struct {
Name string `mapstructure:"name" json:"name" yaml:"name" toml:"name" validate:"required"` // 参数模型名称
Width byte `mapstructure:"width" json:"width" yaml:"width" toml:"width" validate:"required"` // 位宽,即CRC比特数
Poly uint32 `mapstructure:"poly" json:"poly" yaml:"poly" toml:"poly" validate:"required"` // 多项式,以16进制表示
Init uint32 `mapstructure:"init" json:"init" yaml:"init" toml:"init" validate:"required"` // 寄存器(crc)的初始化预置值,十六进制表示
Refin bool `mapstructure:"refin" json:"refin" yaml:"refin" toml:"refin" validate:""` // 待测数据的每个字节是否按位反转
Refout bool `mapstructure:"refout" json:"refout" yaml:"refout" toml:"refout" validate:""` // 在计算后之后,异或输出之前,整个数据是否按位反转
Refmode reflectedMode `mapstructure:"refmode" json:"refmode" yaml:"refmode" toml:"refmode" validate:""` // 按位翻转模式
Xorout uint32 `mapstructure:"xorout" json:"xorout" yaml:"xorout" toml:"xorout" validate:"required"` // 计算结果与此参数异或后得到最终的CRC值
Alias string `mapstructure:"alias" json:"alias" yaml:"alias" toml:"alias" validate:""` // 别名及其应用范围
}
func (*CRC) CalculateCRC ¶
Click to show internal directories.
Click to hide internal directories.