一、串口启用流程
开讲前,先找几款芯片的串口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函数来格局化输出,而且可以在串口上接纳到。