本帖最后由 w494143467 于 2020-11-8 11:16 编辑
1.介绍
上一篇讲的是环境的搭建,还下载了一个GPIO的例程,今天来下载UART的例程,同时来分析一下UART代码,为什么要先解析UART的代码呢,因为开发板上没有带屏幕一类能显示数据的东西,这时候UART就起到比较大的作用了,可以与上位机进行通信打印LOG,对后面外设的一些问题也比较清除的了解,虽然有Debug,但是有些人并没有调试器,所以这一篇先讲一下UART的代码。
2.程序烧入和代码分析
首先我们先找到官方例程,下一篇使用“AutoGen Studio”(如图1下载位置)来开发,这一篇就先选择“UART_Sample”这个例程。
图1
图2
接下来直接分析UART的代码,主要的配置如下图3所示,“GPIO_SetFunc()”是配置GPIO引脚的功能,这里选择了映射功能1,也就是UART的功能,其次就是配置串口的一些参数,这里就不多说明了,接下来就是配置中断和DMA(这个代码中没有用到),最后就使能UART中断。
图3
看下图4可以知道波特率为115200。
图4
同时找到对应的引脚为PB6和PB5如下图5。
图5
板子(如图6)上的UART1的接口线我这没有,所以想配置在开发板上的USB接口的UART引脚。
图6
这时候就需要查看原理图,看看USB上的UART引脚是哪个,如图7和图8,可以看到USB上是UART2,引脚为PD2和PD1,那么这时候就要修改程序为UART2了。
图7
图8
首先修改引脚修改为如下图9。
图9
接下来修改配置中的引脚和修改为UART2,如下图10,这时候我以为修改完成了,下载程序后,发现LED不亮,同时串口也没有数据,感觉有地方还没修改,就找了一下。
图10
理了一下逻辑发现发送的地方没有改成UART2,然后修改UART2,如下图11,再下载程序,LED正常闪烁,同时串口也正常接收到数据。
图11
修改官方例程串口发送的内容,修改为如下图12。
图12
最后查看串口数据,显示如下图13。
图13
同时看一下开发板上的效果如图14。
图14
3.总结
串口整体程序比较清晰,大家可以自己进行修改尝试,UART也是比较基础的一个通信,经常用于调试或者保存数据,今天也是意外的看到AutoChips也有像ST一样的程序开发工具,所以下一篇内容是使用AutoGen Studio来显示OLED屏幕,欢迎大家跟踪楼主的步伐。
如果有不会修改的,可以直接下载楼主修改后的工程~
|