串口中的write怎么输出原始数据(已解决)
2021-04-053939
AI 快速预览详细
本文解决了在MaixPy中使用UART库发送原始数据的问题。通常情况下,uart.write(buff)只能发送字符串,无法直接发送诸如0xff, 61这类原始数据。文章提供了两种方法:使用b'\xff'和to_bytes()函数。示例代码包括uart.write(b'\xff')和uart.write(num.to_bytes(2, 'little'))。通过这些方法,用户可以轻松地将原始数据通过串口发送出去。
|
maixpy中的uart库只提供了wirte(buff)的方法,并且只能发送字符串,不能直接发送诸如0xff, 61,这类原始数据。我想实际使用时发送原始数据,Maixpy好像不能提供这种方法。 使用uart.write(chr(byte))只能正确发送在ASCII码表的内容,使用uart.write('\xFF')接收端接受的内容HEX显示不为0xFF或255。想请教在不改库代码的情况下怎么将原始数据发出呢。 解决方法:方法一: b'\xff',示例:uart.write(b'\xff') 方法二:to_bytes(), 示例:uart.write(num.to_bytes(2, 'little')) ,其实to_bytes第一个形参是num的字节数,char 为1个字节,short为2个字节,int 为3个字节。第二个形参为传输时的大小端设置,参数仅为'big'或者'little',一般的ARM内核的芯片为小端模式,所以假如是传送给ARM单片机可以填'little' |




