串口通信实验

硬件原理图

相关寄存器

  • UART1时钟源

    • CCM_CSCDR1
  • 初始化 UART1

    • UART1_UCR1:使能uart1、自动波特率

    • UART1_UCR2:设置串口的发送帧格式

      • 奇偶校验位、软件复位

      • 数据长度

      • 发送完成标志、数据接受标志

      • 发送使能、接收使能

    • UART1_UCR3:bit2置1,官方要求设置

    • UART1_UFCR:时钟分频、发送与接收的 fifo大小

    • UART1_UBIR、UART1_UBMR:波特率

  • 收发数据

    • UART1_UTXD :发送一个字符
    • UART1_URXD :接受一个字符

55.15 UART Memory Map/Register Definition

makefile修改

官方sdk的设置波特率函数使用了除法,需要提供gcc除法库

  1. LIBPATH := -lgcc -static -L/usr/lib/gcc/arm-none-eabi/6.3.1
  • -lgcc 表示会链接“libgcc.a”库

  • -static -L 表示静态库所在路径