CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

UART TX & RX

UART TX & RX的示例工程实现了以UART的轮询方式收发数据。

UART TX & RX示例的源代码和工程文件位于SDK_Folder\projects\peripheral\uart\uart_tx_rx,其中工程文件在文件夹Keil_5下。

代码理解

示例工程流程图如图 34所示:

图 34 UART TX & RX工程流程图
  1. 配置UART模块。
    g_uart_handle.p_instance  = SERIAL_PORT_GRP;
    g_uart_handle.init.baud_rate = 115200;
    g_uart_handle.init.data_bits  = UART_DATABITS_8;
    g_uart_handle.init.stop_bits  = UART_STOPBITS_1;
    g_uart_handle.init.parity  = UART_PARITY_NONE;
    g_uart_handle.init.hw_flow_ctrl = UART_HWCONTROL_NONE;
    g_uart_handle.init.rx_timeout_mode = UART_RECEIVER_TIMEOUT_ENABLE;
    hal_uart_deinit(&g_uart_handle);
    hal_uart_init(&g_uart_handle);
    

    UART详细配置参数请参考UART DMA

  2. 调用hal_uart_receive()接口用polling方式接收数据,在接收完成后通过hal_uart_transmit()发送接收到的数据,直到收到的数据为‘0’时,测试结束。代码如下:
    do {
        hal_uart_receive(&g_uart_handle, rdata, 128, 20);
        rlen = g_uart_handle.rx_xfer_size - g_uart_handle.rx_xfer_count;
        hal_uart_transmit(&g_uart_handle, rdata, rlen, 1000);
    } while (rdata[0] != '0');
    

测试验证

  1. 用GProgrammer下载uart_tx_rx.bin至开发板。
  2. 将开发板串口连接至PC端,打开并配置GRUart。
  3. 在GRUart的Receive Data窗口中将会显示通过UART接收与发送的数据信息。

扫描关注

打开微信,使用“扫一扫”即可关注。