一、ESP32总共有3个串口,并且3个 串口管脚都是可以重映射的
ESP32规格书:(文档–>ESP32 技术规格书)
二、ESP32串口使用的基本步骤 官网有详细串口说明
- 设置通信参数波特率、数据位、停止位等 --设置参数
- 设置通讯-其他UART连接到的引脚 --设置具体的管脚及是否选择流控位
- 驱动器安装-为UART驱动程序分配ESP 32的资源 --分配接收发送空间
- 运行UART通信-发送/接收数据 --串口收发
- 使用中断-触发对特定通信事件的中断 --注册中断
- 删除驱动程序-释放esp 32的资源,如果不再需要uart通信。
- 使用UART是完成前面4个机可以实现UART的收发,最后两个是可选的
三、串口函数的介绍 按照基本步骤介绍函数说明
1、通信参数设置
uart_config_t uart_config = {
.baud_rate = 115200, //波特率
.data_bits = UART_DATA_8_BITS, //数据位数
.parity = UART_PARITY_DISABLE, //奇偶控制
.stop_bits = UART_STOP_BITS_1, //停止位
.flow_ctrl = UART_HW_FLOWCTRL_CTS_RTS, //流控位
.rx_flow_ctrl_thresh = UART_HW_FLOWCTRL_DISABLE,//控制模式
};
esp_err_t uart_param_config(uart_port_t uart_num, const uart_config_t *uart_config)
uart_port_t uart_num -----串口号 UART0 UART1 UART2
const uart_config_t *uart_config -----串口配置信息
2、设置通信
设置UART和具体的物理GPIO引脚关联
esp_err_t uart_set_pin(uart_port_t uart_num, int tx_io_num, int rx_io_num, int rts_io_num, int cts_io_num)
uart_port_t uart_num ------串口号 UART0 UART1 UART2
rx_io_num ------串口接收管脚
tx_io_num ------串口发送管脚
rts_io_num -------流控脚
cts_io_num --------流控脚
3、驱动安装
分配接收发送空间及函数调用参数
esp_err_t uart_driver_install(uart_port_t uart_num, int rx_buffer_size, int tx_buffer_size, int queue_size, QueueHandle_t *uart_queue, int intr_alloc_flags)
uart_num -------串口号
rx_buffer_size --------接收缓存大小
tx_buffer_size ---------发送缓存大小
queue_size ------------队列大小
uart_que