
一、RS232通信协议 1、概念 个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。 2、电气特性 逻辑1(MARK): -3V~-15V 逻辑0(SPACE): +3~+15V 3、接口 实现全双工异步通信只需要三根线:RX、TX和GND。 二、常见COMS电平转RS232电平的芯片--MAX3232 ![]() . z0 h x: c$ h! r ![]() 1、逻辑输入与逻辑输出特性 ![]() ![]() 2、RS232接口端输入特性 ![]() ![]() 3、RS232接口端输出特性 ![]() ![]() 三、STM32串口硬件电路 1、芯片内部串口电路 ![]() ![]() 2、开发板串口硬件电路 ![]() ![]() 四、STM32串口编程 1、整体流程 ① 开启GPIO时钟和USARTX时钟 ② 配置TX和RX引脚 ③ 初始化USART控制器 2、细节实现 ① 开启GPIO时钟和USARTX时钟
② 配置TX和RX引脚
③ 初始化USART控制器
五、STM32串口疑惑 1、串口时钟使能与控制器使能的关系 为何USART时钟使能了,还需要在配置USART控制器的时候再使能一次?
1> USART的时钟使能 APB2 peripheral clock enable register (RCC_APB2ENR) ![]() ![]() 2> USART控制器使能 USART Control register 1(USART_CR1) ![]() ![]() 3> 原因 ![]() ![]() E" _4 y- h% a4 P( ]9 f( p RCC_APB2ENR: 控制APB2时钟是否供应给USART控制器 USART_CR1: 控制USART控制器的分频器和输出是否工作 2、TDR与RDR共用一个特殊功能寄存器地址 USART_DR功能描述: 包含了发送或接收的数据。由于它是由两个寄存器组成的,一个给发送用(TDR) ,一个给接收用(RDR) ,该寄存器兼具读和写的功能。TDR寄存器提供了内部总线和输出移位寄存器之间的并行接口(参见图236 )。RDR寄存器提供了输入移位寄存器和内部总线之间的并行接口。(摘自《STM32参考手册》) 笔者的理解是:当对USART_DR进行读操作的时候,访问的是RDR;当对USART_DR进行写操作的时候,访问的是TDR。 六、串口调试时需要注意的地方 1、通过MDK结合一些调试器可以单步、任意断点等等方式进行代码的调试。可是,这种调试方法对于调试操作系统,比如uCOS-II,还有那些必须要全速运行才能进行调试的情况,就显得力不从心。串口调试正是用于这些地方,可以在程序全速运行的情况下,实时的打印系统的运行信息。 2、串口调试也有它的局限性,由于串口的波特率相对于STM32这样高速运行的单片机显得迟钝,很多情况下不能及时的打印系统的运行信息。甚至有些情况下,我们原本那些串口调试的代码会成为影响我们系统实时性最主要的因素。 |
STM32ADC过采样及几种ADC采样的处理方法
STM32的启动模式配置与应用
STM32固件库分享,超全系列整理
X-NUCLEO-IKS4A1实现手势滑动
STM32G系列RS485自动收发控制以及自适应波特率实战
STM32G0系列ADC扫描序列模式解读
【经验分享】FPGA作为从机与STM32进行SPI协议通信---Verilog实现
【管管推荐】STM32经验分享篇
STM32G030F6P6基于HAL库模拟SPI驱动1.8寸TFT LCD屏幕
STM32的CAN FD位定时设置注意事项