STM32
直播中

半导体开发

10年用户 875经验值
擅长:可编程逻辑
私信 关注
[问答]

STM32L451VET6串口波特率紊乱引起的数据通信问题求解

大家好,最近在使用STM32L451VET6时发现如下情况,请帮忙
在STM32L451VET6中使用MSI(默认4M)时钟提供系统时钟,发现串口波特率紊乱引起数据通信问题。经过阅读RM0349资料,发现MSI时钟有硬件校准机制,如下,我的理解是当使能LSE,通过配置RCC_CR寄存器位MSIPLLEN位,使MSI处于PLL模式时,会开启自动校准,这个校准会一直持续。

回帖(1)

王萍

2024-4-7 17:04:57
您的理解是不正确的。STM32L451VET6的MSI时钟没有硬件校准机制。根据RM0349文档中的描述,MSI时钟源没有任何自动校准机制,也不能通过配置RCC_CR寄存器的任何位来开启自动校准。

如果您的串口波特率存在紊乱引起的数据通信问题,可能是由于时钟频率偏差导致的。解决这个问题的方法是使用正确的时钟源,并通过将时钟源和波特率分别设置为正确的值来同步串口通信。

您可以根据您的实际需求和系统设计,选择合适的时钟源和波特率,来确保数据通信的稳定和准确。通常情况下,可以使用外部晶体、外部时钟、HSE等高精度时钟源来提供系统时钟,以避免时钟频率偏差导致的通信问题。
举报

更多回帖

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