打印

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

[复制链接]
4326|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renzhen123|  楼主 | 2024-4-28 10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用了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 | 只看该作者
在这种情况下,串口通信乱码问题可能与时钟源的选择有关

使用特权

评论回复
5
b5z1giu| | 2024-5-24 16:36 | 只看该作者
在HC32F460PETB单片机中,en_clk_xtal_mode配置项用于选择时钟源,CLKXtalModeOsc = 1u表示使用内部晶振作为时钟源,而CLKXtalModeExtclk = 1u表示使用外部时钟作为时钟源

使用特权

评论回复
6
suw12q| | 2024-5-24 17:41 | 只看该作者
当你的硬件电路设计为外部8M有源晶振时,应该选择使用外部时钟作为时钟源

使用特权

评论回复
7
p0gon9y| | 2024-5-24 18:48 | 只看该作者
如果错误地选择了内部晶振作为时钟源,可能导致时钟频率不稳定,从而影响了串口通信的稳定性,导致出现乱码情况

使用特权

评论回复
8
ex7s4| | 2024-5-24 19:55 | 只看该作者
在小批量生产时没有出现问题的可能原因是,小批量生产的产品中的晶振频率可能相对稳定,因此使用内部晶振作为时钟源时并未引起问题

使用特权

评论回复
9
q1d0mnx| | 2024-5-24 21:00 | 只看该作者
在批量生产中,晶振频率可能存在一定的波动,因此选择了错误的时钟源配置后,就会导致串口通信出现乱码情况

使用特权

评论回复
10
lix1yr| | 2024-5-25 08:00 | 只看该作者
正确选择外部时钟作为时钟源后,串口通信正常是因为外部时钟提供了稳定的时钟信号,确保了串口通信的稳定性和准确性

使用特权

评论回复
11
tax2r6c| | 2024-5-25 10:03 | 只看该作者
配置错误的时钟源可能导致产品出现串口乱码问题。

使用特权

评论回复
12
t1ngus4| | 2024-5-25 11:10 | 只看该作者
在设计和批量生产过程中,需要特别注意时钟源的选择,以确保系统的稳定性和可靠性

使用特权

评论回复
13
su1yirg| | 2024-5-25 12:38 | 只看该作者
你看看你的晶振是不是没焊接OK啊?

使用特权

评论回复
14
timfordlare| | 2024-6-4 09:25 | 只看该作者
单片机内部各模块的工作频率依赖于系统时钟。如果时钟模式配置错误,可能导致系统时钟频率异常,进而影响串口通信模块的工作。

使用特权

评论回复
15
robertesth| | 2024-6-4 10:11 | 只看该作者
如果串口通信使用了定时器来产生波特率,需要确保定时器的时钟源和分频系数配置正确。

使用特权

评论回复
16
plsbackup| | 2024-6-4 11:43 | 只看该作者
串口通信中可能会使用定时器来产生波特率等关键参数。如果定时器时钟源或分频系数配置错误,可能导致波特率计算错误,从而引发串口乱码。

使用特权

评论回复
17
febgxu| | 2024-6-4 14:45 | 只看该作者
通过适当的倍频设置,可以获得所需的系统时钟频率。错误的倍频设置可能会导致系统频率超出或未达到预期,影响串口的正常工作。

使用特权

评论回复
18
minzisc| | 2024-6-5 11:35 | 只看该作者
单片机内部各模块的工作频率依赖于系统时钟。如果时钟模式配置错误,可能导致系统时钟频率异常,进而影响串口通信模块的工作。

使用特权

评论回复
19
updownq| | 2024-6-5 14:58 | 只看该作者
合理的中断服务程序设计可以有效处理串口接收和发送的中断请求,避免数据丢失或错误。

使用特权

评论回复
20
janewood| | 2024-6-5 20:28 | 只看该作者
波特率是串口通信的基础,若设置不正确,将直接影响数据的传输效果。根据用户经验,当波特率低于115200时,可能会出现无法正常接收数据的情况。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

14

帖子

0

粉丝