国民技术 N32G435 MCU USART 实现 printf 打印

USART(Universal Synchronous Asynchronous Receiver/Transmitter),即通用同步/异步收发器,是一种常用的串行数据传输协议。在调试程序时使用printf函数来打印串口信息,对分析问题非常方便。 以下我们结合国民技术N32G43x 库例程分析 N32G435 MCU USART 如何实现printf 打印log。

1. 例程目的:串口打印“USART Printf Example: retarget the C library printf function to the USART”
图1

2. 进入Main函数会先调用时钟和GPIO函数
  

3. 时钟配置
  


4. GPIO配置:USART工作在全双工模式下,发送口TX要配置成复用推挽输出,接收口RX要配置成浮空输入或上拉输入。
  

5. USART PIN定义:PA9配置为 USART1_Tx,PA10配置为 USART1_Rx
  

6. 配置USART 参数如下:

   - 波特率115200

   - 8 bit数据位

   - 1 bit停止位

   - 无奇偶校验控制

   - 无硬件流控制(RTS和CTS信号)

   - 接收和发送使能



7.  在C库中printf()等输出流函数都是通过fputc()这个函数实现的,所以我们通过重映射的方式,修改这个函数的定义使它输出在N32G43x MCU的寄存器中,便可以实现使用printf()函数在N32G43x MCU串口上输出数据的功能。
  

由于我们使用了printf C库函数,需要在MDK的Target面板中选中Use MicroLIB,将C库添加到工程中。



8. 
编译无误后下载到N32G43x 开发板


9. 通过USB转TTL连接N32G43x开发板与 PC 终端串口调试助手, 配置好串口参数并打开, 然后给N32G43x开发板上电,可以看到串口调试助手输出“USART Printf Example: retarget the C library printf function to the USART”,实现串口数据打印。



国民技术 N32G43x MCU
相关博文:

  1. 国民技术N32G43X开发板介绍 - 大大通 (wpgdadatong.com)
  2. 国民技术N32G43X开发板上手实验 - 大大通 (wpgdadatong.com)  


参考资料:

  1. UM_N32G43x系列用户手册0
  2. N32G43x_Library.1.0.0

更多精彩内容欢迎参阅大大通网站https://www.wpgdadatong.com/cn 和大大通微信公众号

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论