renzhen123 发表于 2024-4-28 10:09

HC32F460时钟模式错误出现串口乱码

使用了HC32F460PETB单片机,在批量生产中个别产品出现串口乱码情况,经排查是硬件电路设计为外部8M有源晶振,代码中en_clk_xtal_mode配置的是CLKXtalModeOsc = 1u,后将代码配置修改为CLKXtalModeExtclk =1u后串口打印正常,有大神能帮忙解释下原理吗? 为什么这个地方配置错误,产品会出现问题,之前小批量生产的时候没有出现乱码现象。

鹿鼎计 发表于 2024-4-28 17:16

外部时钟配置的问题?

软核硬核 发表于 2024-4-28 17:31

你看看CLKXtalModeExtclk这个变量的解释是什么

l1uyn9b 发表于 2024-5-24 15:29

在这种情况下,串口通信乱码问题可能与时钟源的选择有关

b5z1giu 发表于 2024-5-24 16:36

在HC32F460PETB单片机中,en_clk_xtal_mode配置项用于选择时钟源,CLKXtalModeOsc = 1u表示使用内部晶振作为时钟源,而CLKXtalModeExtclk = 1u表示使用外部时钟作为时钟源

suw12q 发表于 2024-5-24 17:41

当你的硬件电路设计为外部8M有源晶振时,应该选择使用外部时钟作为时钟源

p0gon9y 发表于 2024-5-24 18:48

如果错误地选择了内部晶振作为时钟源,可能导致时钟频率不稳定,从而影响了串口通信的稳定性,导致出现乱码情况

ex7s4 发表于 2024-5-24 19:55

在小批量生产时没有出现问题的可能原因是,小批量生产的产品中的晶振频率可能相对稳定,因此使用内部晶振作为时钟源时并未引起问题

q1d0mnx 发表于 2024-5-24 21:00

在批量生产中,晶振频率可能存在一定的波动,因此选择了错误的时钟源配置后,就会导致串口通信出现乱码情况

lix1yr 发表于 2024-5-25 08:00

正确选择外部时钟作为时钟源后,串口通信正常是因为外部时钟提供了稳定的时钟信号,确保了串口通信的稳定性和准确性

tax2r6c 发表于 2024-5-25 10:03

配置错误的时钟源可能导致产品出现串口乱码问题。

t1ngus4 发表于 2024-5-25 11:10

在设计和批量生产过程中,需要特别注意时钟源的选择,以确保系统的稳定性和可靠性

su1yirg 发表于 2024-5-25 12:38

你看看你的晶振是不是没焊接OK啊?

timfordlare 发表于 2024-6-4 09:25

单片机内部各模块的工作频率依赖于系统时钟。如果时钟模式配置错误,可能导致系统时钟频率异常,进而影响串口通信模块的工作。

robertesth 发表于 2024-6-4 10:11

如果串口通信使用了定时器来产生波特率,需要确保定时器的时钟源和分频系数配置正确。

plsbackup 发表于 2024-6-4 11:43

串口通信中可能会使用定时器来产生波特率等关键参数。如果定时器时钟源或分频系数配置错误,可能导致波特率计算错误,从而引发串口乱码。

febgxu 发表于 2024-6-4 14:45

通过适当的倍频设置,可以获得所需的系统时钟频率。错误的倍频设置可能会导致系统频率超出或未达到预期,影响串口的正常工作。

minzisc 发表于 2024-6-5 11:35

单片机内部各模块的工作频率依赖于系统时钟。如果时钟模式配置错误,可能导致系统时钟频率异常,进而影响串口通信模块的工作。

updownq 发表于 2024-6-5 14:58

合理的中断服务程序设计可以有效处理串口接收和发送的中断请求,避免数据丢失或错误。

janewood 发表于 2024-6-5 20:28

波特率是串口通信的基础,若设置不正确,将直接影响数据的传输效果。根据用户经验,当波特率低于115200时,可能会出现无法正常接收数据的情况。
页: [1] 2
查看完整版本: HC32F460时钟模式错误出现串口乱码