ofccw 2019-08-08 17:01 采纳率: 0%
浏览 1472

关于ESP32外接串口通讯测试问题,求大神指点

ESP新手一枚,写了一段串口代码如下:

const int uart_num = UART_NUM_0;
void uart_init(void)
{
    //串口配置结构体
    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 = 122,
    };

    printf("!!!!!!!!!!!!!!\n");
    ESP_ERROR_CHECK(uart_param_config(uart_num, &uart_config)); //设置串口

    //IO映射-> T:IO16  R:IO17
    printf("@@@@@@@@@@@@@@@@\n");
    ESP_ERROR_CHECK(uart_set_pin(uart_num, TXD_PIN, RXD_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE));

    //注册串口服务即使能+设置缓存区大小
    printf("###############\n");
    ESP_ERROR_CHECK(uart_driver_install(uart_num, RX_BUF_SIZE * 2, TX_BUF_SIZE * 2, 0, NULL, 0));
}

void uart_rx_task()
{
    static const char *RX_TASK_TAG = "RX_TASK";
    uint8_t* data = (uint8_t*) malloc(RX_BUF_SIZE+1);//分配内存,用于串口接收

    while (1) {

        //获取串口1接收的数据

        const int rxBytes = uart_read_bytes(uart_num, data, RX_BUF_SIZE, 10 / portTICK_RATE_MS);

        if (rxBytes > 0) {
            data[rxBytes] = 0;//在串口接收的数据增加结束符
            ESP_LOGI(RX_TASK_TAG, "Read %d bytes: '%s'", rxBytes, data);
                        ESP_LOG_BUFFER_HEXDUMP(RX_TASK_TAG, data, rxBytes, ESP_LOG_INFO);
             //将接收到的数据发出去

            uart_write_bytes(uart_num, (char *)data, rxBytes);

        }

    }

    free(data);//释放申请的内存

}

烧写后mointor打印如下:图片说明monitor中没有错误信息,我认为串口配置正确,然后想测试串口收发数据是否正常,根据开发文档提示,将RX,TX,GND与另外一个UAB转串口进行链接,连线图:
使能UART,将RXD,TXD与RXD0,TXD0跳帽链接

重新给开发板上电,monitor打印如下图片说明,各位大神帮我看看,问题出在哪里了,在这里谢过了

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-08-08 23:48
    关注
    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集