基础知识
1位=一个二进制数(2^1)(8进制=2^3=3位,16进制=2^4=4位)
1个字节=8位
在64位计算机中,一个char占1个字节,一个int占4个字节
实际应用:openmv摄像头串口通信
UART.write(buf)¶函数:
h将字节缓冲区写入总线。
返回值:写入的字节数;若超时,则返回 None
。
1.利用openmv函数库pack()函数将数据按一定顺序打包,利用UART.write对外发送
b在上图有说明,指有符号char,占1字节
h指short型数据,占2字节
则0x2c(16进制数也等于1字节=char)
----->若终端打印,则打印出来为ascll值 44
----->接收以16进制接收=0x2c
int(cx)此时=187,和上述同理,short型占2字节=两个十六进制数=BB 00
(因为数据小,所以使用short即可。摄像头以左上角(0,0)为起始点,没有负数,所以又使用无符号short即可)
2.1.利用openmv函数库bytearray()函数创建可变字节序列,利用UART.write对外发送
cx=194---->对应 C2
cy=80------>对应 50