继续之前的实验,我们在原先试验过uart3的基础上,加入uart1,同时也使用相同功能,也有些细节需要注意的。
另外结合之前文章看本章,观看效果更佳。
之前连接:【软件STM32cubeIDE下F103配置uart3+DMA收发+简单数据解析-基础样例】
软件环境:STM32cubeIDE 1.8.0
硬件环境:STM32F103xx(相关系列都可以)
下载模块:ST-link下载器 (下载器)
串口模块:串口转换器 (可用232模块代替)
发现配置后,使用软件重新生成代码后,很多之前写的代码都给删除了,这是因为代码默认,放在固定块内的用户代码才不会动,所以这块以后写代码还是要注意下的,不然好容易写的代码,在软件生成后,可能就会被删除。
如下所示,列举一处,还有while循环内,开始也没放在里边,具体看代码吧。
如下图所示,是代码生成后样子,即使用“//”注释掉了,还是会被删除。
代码移动好后,就可以打开软件进行配置了,因为之前配置过了,这里直接展示uart1配置部分。
对于波特率没有什么要求,所以都默认了 115200
需要注意的是,因为之前编写了非DMA回调函数,没有使用,在生成代码后,软件又给你写了一边,编译是有错的,咱们都是用DMA形式,直接删除就行了,如下图所示。
这部分只要是接收函数的空闲函数编写,虽然输出挺简单,接收还是有好几处要边下,共六步,这里直接贴图片,想要看代码,直接下载代码自己看吧。
编译后下载代码,使用串口工具进行测试。
代码链接:https://download.csdn.net/download/qq_22146161/86401034
(1)在代码块放入对应代码区域,这个还是要注意下的,否则重新生成代码的时候,会删除你之前写好的代码,代码多了可能根本不知道丢了哪些。
(2)实际运行在STM32cubeIDE不同版本下,报错太多,可能无法运行,请注意我这里使用编译软件一直是1.8.0,之前升级1.9.0结果代码就无法运行了,即同版本,一般来说都可以运行,但是不同版本,不一定时代码问题,有可能软件问题。