1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kzeng-thrmp

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
crc16-1.py 540
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
kzeng Отправлено 3 лет назад aa4ecfb
# 用于计算modbus通信协议的CRC16校验值。
# 举例:0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08得到校验值为0xB0CF(或0xCFB0)
def calc_crc(string):
data = bytearray.fromhex(string)
crc = 0xFFFF
for pos in data:
crc ^= pos
for i in range(8):
if ((crc & 1) != 0):
crc >>= 1
crc ^= 0xA001
else:
crc >>= 1
return hex(((crc & 0xff) << 8) + (crc >> 8))
# 02 06 00 02 00 04
crc = calc_crc('020600020004')
print(crc)
#0x29fa

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/kzeng-thrmp.git
git@gitlife.ru:oschina-mirror/kzeng-thrmp.git
oschina-mirror
kzeng-thrmp
kzeng-thrmp
master