STM32 USART1 改成 UART4 出现问题

发布时间 2023-06-27 14:55:15作者: MustardGuys

STM32 USART1 改成 UART4 出现问题

群里面叫了半天,野火胸也不出来,那么久没有办法了,我自己发个帖子解决下

问了一下度娘,网上有很多关于stm32 uart4的问题,有时进不去串口中断的,有发送乱码的,那么我就在这里总结一下

首先我们看一下文档

我用的stm32f103vet6的,所以USART是模式是3+2,那么是什么是3呢 3指的是USART,2指的是UART,这个有什么区别呢,还是问了度娘

USART:USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。

USART是一个全双工通用同步/异步串行收发模块 UART:USART相对UART来说是在异步通信的基础上还有同步的功能,USART能够提供主动时钟。

那就行了,从理论上说明这个配置串口是行的通的! 那网上很多配不同的问题是在哪里呢

我总结了一下

1、IO口冲突,这个很重要,我一开始配置的时候也是这个问题,UART4的IO口和SDIO的IO口是冲突的

2、进不去中断,或者说没有中断,这个是什么呢,我用的是3.0的库,里面的启动文件分为小容量,中容量,大容量,这个必须是在大容量中,看到的启动文件中才有UART4和UART5

3、时钟,这个大家很容易犯错,这个没有什么一开始的时候都容易犯错,