STM32
直播中

池鹄展

8年用户 1009经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

基于stm32的串口通讯实验过程是怎样的

基于寄存器与基于固件库的STM32 LED流水灯例子的编程方式有什么差异?基于stm32的串口通讯实验过程是怎样的?

回帖(1)

黎蔼焱

2021-9-29 16:46:02
  一、基于寄存器、固件库编程的差异性
  基于寄存器与基于固件库的 stm32 LED 流水灯例子的编程方式有什么差异
  使用固件库,目前比较多的例程是使用固件库编写的。官方的例子也都采用固件库方式。特点就是简单,易于理解,资料多。如果你没有 CortexM 系列内核的开发基础,建议从固件库开始玩起。等有一定基础,或是特别需要时再用寄存器,本篇文章采用的就是固件库。
  使用寄存器,想要深入理解 CortexM3 内核或是需要为了获得更好的可移植性,学习寄存器编程会比较有帮助。但是从专业的角度上看,寄存器更贴近底层,对外设的工作原理和运行机理会有更深的理解。
  二、串口通讯实验前的了解及准备
  USB 转串口讲解
  串口通讯过程:
  串口设备间常见的通讯结构,如下图所示:
  
  两个通讯设备的 “ DB9 接口 ” 之间通过串口信号线建立起连接,串口信号线中使用 “ RS-232 标准 ” 传输数据信号。由于 RS-232 电频标准的信号不能直接被控制器直接识别,所以这些信号会经过一个 “ 电平转换芯片 ” 转换成控制器能识别的 “ TTL 标准 ” 的电平信号,才能实现通讯。
  串口通讯可分为 “ RS-232 标准 ” 和 “ TTL 标准 ”。
  
  转串口硬件部分:
  下图是 USB 转串口硬件原理图:
  
  指南者的电平转换芯片采用的是 CH340G ,上图的所有内容就是 USB 转串口部分,如果缺失这个部分就无法使用 USB 进行通讯,而指南者将 USB 转串口焊在了上面,所以不需要我们自己单独去买转串口。
  下图是指南者实物转串口部分:
  指南者还有其它的串口,这里是串口一,我们只需要只用这一个串口就行了。
  三、串口通讯实验过程
  第一步:获取代码
  首先下载代码。
  在打开工程之前,需要对 keil 的编码方式进行设置,否则会中文乱码。
  
  解压缩文件,然后在路径:USARTProjectRVMDK(uv5)目录文件下双击打开BH-F103.uvprojx文件。
  
  然后 keil 会打开这个工程(后面我们编写的代码风格其实和 C 语言类似,只不过有很多接口、引脚的引用不熟悉而已)。
  在编写代码的时候,只需要编写这三个文件的代码就行了,其它的文件都是库,不需要更改。
  注释也挺全,可以看得懂,后面就不讲解代码了。
  
  第二步:安装 USB 转换口驱动
  电脑安装 USB 转串口的驱动。
  点击 “ 安装 ” ,安装完后弹窗。
  
  第三步:硬件连接
  使用 USB 线连上 USB 转串口,使用杜邦线连接 SWD ,SWD 怎么连呢?继续往下看。
  看板子的背面,这里我们只需要用杜邦线依次连接 SWCLK、GND、SWDIO、3V3 就行了。
  说明:
  NRST:异步复位脚,重置除了 RTC 的寄存器以及后备存储器的寄存器;
  SWCLK:时钟开关;
  GND:接地;
  SWDIO:输入/输出控制。
  3V3:电源。
  杜邦线的另一端接 ST_LINK ,根据正面提示的引脚来进行接入,如下图:
  
  然后将两个 USB 接口插到电脑上,并打开开关(这样,板子就连通了电脑),之后可以进行程序的烧录。
  第四步:keil 设置
  在 keil 的安装路径中找到 dpinst_amd64.exe 安装程序(ST-Link的驱动),并双击打开,点击 “ 下一步 ”,然后安装即可。
  注:我是安装在 E 盘的,路径为 E:keilARMSTLinkUSBDriverdpinst_amd64.exe ,可以参考这个路径。
  然后在 keil 软件中,点击 魔术棒 ——》 Output ,勾选上 “ Create HEX File ” 选项。
  说明:将 C 文件转换成 HEX 文件,才能烧录到板子中。
  
  进入 “ Debug ” 项,在 Use:中选择 ST-Link Debugger(因为我们使用的是 ST-Link)。
  
  然后点击 ST-Link ST-Link Debugger 框的右边 Settings。
  Port 项勾选为 SW 。
  
  然后点击上方的 “ Flash Download ”,勾选上 “ Reset and Run ” ,然后点击 “ Add ” ,选上 STM32F10x High-density Flash ,添加完毕后点击 确定 ——》 OK,设置完毕。
  第五步:烧录程序
  先点击 “ 编译 ” 按钮,编译一下,程序没有错误,再点击 “ 下载 ” 按钮烧录到板子中。
  
  编译无错且烧录成功,结果如下。
  
  第六步:使用串口助手
  双击打开 “ 野火串口调试助手.exe ” 文件。
  
  设置各个参数,如下图所示,然后再点击 “ 打开串口 ” 按钮。
  
  在输入框中输入:stop,stm32!,并换行,记住!!一定要换行!!!
  四、总结
  其实根据这一篇文章并不会学到太多,只是演示设置 keil 、烧录程序、结果显示的过程,而真正的重点其实是在代码部分,虽然我有注解,但是还是根据视频来学才扎实,可以点击参考资料中的视频链接,可以学到很多,一个学习。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分