因为自己要模拟主板通过连接蓝牙与手机进行通信,
通信协议两边都要一致
既然Android端有这个功能,那么python通过串口从蓝牙模块读取的信息在验证的时候也要进行奇偶校验。
下面进入正题,
其实python 和 Android 一样 都是利用位运算然后统计的
# 16进制字符串 奇偶验证 返回 0 / 1 偶/奇
def get_check_result(self, hex_string: str) -> int:
check_result_int = 0
for s in hex_string:
current_result = 0
i = int(s, 16)
# 位运算
for j in range(4):
v = i >> j & 1
current_result += v
check_result_int += current_result
return check_result_int % 2
不过python写起来确实觉得比Android顺手也简单一点。
用法就不多赘述了。