串口中的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'


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -