// golang
func Szy206CRC(data []int) (crc int) {
// X7 + X6 + X5 + X2 +1 = 0xe5
var (
cc int
)
cc = 0
for _, t2 := range data {
cc = cc ^ t2
for i := 0; i < 8; i++ {
c1 := cc & 0x80
cc = cc << 1
if c1 != 0 {
cc = cc ^ 0xe5
}
}
}
crc = cc & 0xff
return crc
}
帧校验 CS 是控制域、地址域、链路用户数据(应用层)的字节的 CRC 校验,生成多项式:
X7+X6+X5+X2+1。