新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式硬件通信接口协议-UART(三)快速使用串口及应用

嵌入式硬件通信接口协议-UART(三)快速使用串口及应用

作者:时间:2018-12-19来源:网络收藏

  一、启用流程

本文引用地址:http://www.eepw.com.cn/article/201812/395787.htm

  开讲前,先找几款芯片的demo程序瞄一眼。

  依次有STM32的V3.5标准库、nRF52832的官方demo以及51核的STC15系列单片机的官方DEMO。

  


  


  


  从以上的部分demo例程来看,并结文章《硬件通信接口协议-UART(一)协议基础》的介绍,在启用的时候,需要配置的那几个参数有波特率、数据位、校验位、停止位等,从demo的源码中也是能够体现出来的。

  而略有不同的是,在引脚配置灵活的ARM中,需要针对引脚进行配置。

  二、验证输入输出

  完成了串口的初始化,即可对输入输出进行操作,来验证串口是否可以正常的发送和接收数据。

  一般的,最直接的方式就是向输出寄存器写入数据,就可以让芯片去完成UART信号输出到对应的引脚上。

  如下图依次有STM32的V3.5标准库、nRF52832的官方demo以及51核的STC15系列单片机的官方DEMO。

  


  


  


  验证串口的输出,即在串口初始化成功后,对串口的输出寄存器写入数据,而芯片引脚则使用USB转TTL模块连接,USB端插入计算机的USB口,利用计算机的串口助手软件实现对数据的收发。

  三、调试-输出

  开发调试过程中,输出的内容基本上就是想查看的变量值、代码的执行位置跟踪、算法或者某些运算的结果等等。这些输出,仅用于调试阶段,而在人机调试过程中,使用计算机的串口助手软件进行交互,则输出的数据应该便于识读和判断。

  1. C库函数printf格式输出重定向到串口输出

  输出串口数据过程中,需要向寄存器逐字节传入数据的,而在传送之前必不可少的,就是将要发送的数据、字符放到同一个Buffer后,执行轮询的方式传送直到buffer内容全部被传送。

  而这个“放”的过程也是需要做些计算、判断,尤其是增加必要的字符来描述输出信息,保证信息的可识读。

  在C标准库printf函数就有格式输出的功能,利用这个接口更便于调试输出这个过程。

  这就需要将printf函数重定向到串口输出上!

  实现重定向只需3步:

  Options for target选项卡内勾选UseMicroLIB

  在串口实现的*.c文件内,将stdio.h文件和stdarg.h文件包含进来

  重新定义int fputc函数的内部实现

  


  


  完成以上3步,即可利用printf函数来格式化输出,并且能够在串口上接收到。


上一页 1 2 下一页

关键词: 嵌入式 串口

评论

技术专区

关闭