FireBeetle 2 ESP32-P4开发板提供了多个串口可供使用,其中UART0 被分配给REPL,其他几个则可供用户使用,它们分别是UART1、UART2及UART3。 而引脚 GPIO 37和 GPIO38可以映射到UART1来使用,其中GPIO38作为RX管脚,GPIO37作为TX管脚。 图1 引脚功能分配
在FireBeetle 2 ESP32-P4开发板上要使用python实现串口通讯是十分方便的,它只需简单的3步就可实现。 1)导入使用UARTC功能 实现该功能的语句为: from machine import UART, Pin 2)配置引脚及波特率等
实现该功能的语句为:
uart1 = UART(1, baudrate=9600, tx=Pin(37), rx=Pin(38))
uart1.init(9600, bits=8, parity=None, stop=1) 3)数据收发 实现该功能的语句为: Uart1.write('hello') Uart1.read() 其中,语句uart1.write('hello')的作用是发送'hello'5个字符 而语句uart1.read()的作用是将接收数据。 在使用引脚37和38为串口1的情况下,外部串口模块与其连接形式如图2所示。 图2 串口模块连接
在执行完以上面3步后,即看到测试结果,见图3所示。 图3 执行效果
对于外部的串口设备来讲,单纯的发送字符信息是难以满足需求的,以控制语音模块为例它就需要发送10个字节的指令码。 为此需将字节指令存放到元组中,以起到通常数组的功效。 控制MP3模块发送播放指令的程序如图4所示,在运行后其输出内容如图5所示。 图4控制程序
图5 发送结果
|