当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

UART DMA

1 功能概述

本例程演示如何使用 UART HAL Driver 实现DMA方式的 UART收发功能。

2 环境准备

  • 硬件设备与线材:

    • PAN107 EVB 核心板底板各一块

    • JLink 仿真器(用于烧录例程程序)

    • 串口模块一块

    • USB-TypeC 线一条(用于底板供电和查看串口打印 Log)

    • 杜邦线数根或跳线帽数个(用于连接各个硬件设备)

  • 硬件接线:

    • 将 EVB 核心板插到底板上

    • 使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连

    • 使用杜邦线将 EVB 底板上的 TX 引脚接至核心板 P16,RX 引脚接至核心板 P17

    • 使用杜邦线将串口模块上的 TX 引脚接至底板上的 P24,RX 引脚接至底板上的 P10

    • 使用杜邦线将 JLink 仿真器的:

      • SWD_CLK 引脚与 EVB 底板的 P00 排针相连

      • SWD_DAT 引脚与 EVB 底板的 P01 排针相连

      • SWD_GND 引脚与 EVB 底板的 GND 排针相连

  • PC 软件:

    • 串口调试助手(Panchip Serial Assistant ),串口打印 Log波特率 921600,串口通信波特率 115200。

3 编译和烧录

例程位置:<PAN10XX-NDK>\01_SDK\nimble\samples\peripheral\uart_dma\keil_107x

双击 Keil Project 文件打开工程进行编译烧录。

4 例程演示说明

  1. 烧录完成后,芯片会通过串口打印初始化 Log:

    Try to load HW calibration data.. DONE.
    - Chip Info         : 0x1
    - Chip CP Version   : 255
    - Chip FT Version   : 4
    - Chip MAC Address  : D0000000059D
    - Chip UID          : 9D0500C2F737560338
    - Chip Flash UID    : 425031563233391700C2F73756033878
    - Chip Flash Size   : 512 KB
    app started
    APP version: 129.96.18288
    Recv BlockSize 128,Dma Ch0
    Send BlockSize 128,Dma Ch1
    rx done
    tx complete
    rx done
    tx complete
    rx done
    tx complete
    
  2. 打开另外一个串口调试助手(Panchip Serial Assistant ):

    工程中测试一次dma传输的大小为32字节,当接收到32字节时,dma中断才会触发。

    在send区域发送数据,观察receive区域收数据的情况,如下图所示

    uart_dma

    在receive区域可以看到接收和发送数据是一样的,芯片把收到的数据原封不动的发给上位机。

5 RAM/Flash资源使用情况

PAN107x:

Flash Size:  13.47k
RAM Size:  7.50 k