1111gyhh 发表于 2024-11-14 17:23

使用HC32L196设置成921600波特率后打印乱码

最近在开发这款芯片,有没有大佬能给我解答一下为什么会乱码,115200和9600都试过了不会乱,921600和1000000就会乱。

wubangmi 发表于 2024-11-14 18:42

主频用22.12Mhz的,PCLK建议不要分频。其他主频误码率太高导致你乱码了

1111gyhh 发表于 2024-11-15 10:47

大佬,按照您说的配置了一下,确实好多了,可是还是差点意思

wubangmi 发表于 2024-11-15 11:07

1111gyhh 发表于 2024-11-15 10:47
大佬,按照您说的配置了一下,确实好多了,可是还是差点意思
TX脚初始化的时候输出高,另外把TX和RX的上拉都使能。
顺带提一下,内部RCH升频是有要求的,具体看用户手册,有两种方式。

1111gyhh 发表于 2024-11-15 11:18

wubangmi 发表于 2024-11-15 11:07
TX脚初始化的时候输出高,另外把TX和RX的上拉都使能。
顺带提一下,内部RCH升频是有要求的,具体看用户手 ...

好的 谢谢您

xch 发表于 2024-11-15 18:24

1111gyhh 发表于 2024-11-15 10:47
大佬,按照您说的配置了一下,确实好多了,可是还是差点意思

连续不停发送0x55,测量一下方波频率是不是等于921600/2Hz。
RCH 频率可以微调。

1111gyhh 发表于 2024-11-18 10:59

xch 发表于 2024-11-15 18:24
连续不停发送0x55,测量一下方波频率是不是等于921600/2Hz。
RCH 频率可以微调。 ...

谢谢 已经解决了{:lol:}

wyde518 发表于 2024-11-18 13:23

1111gyhh 发表于 2024-11-18 10:59
谢谢 已经解决了

怎么解决的

1111gyhh 发表于 2024-11-19 16:57

wyde518 发表于 2024-11-18 13:23
怎么解决的

看楼顶那个大佬 我就按照他说的一步步改

1111gyhh 发表于 2024-11-22 11:35

wubangmi 发表于 2024-11-15 11:07
TX脚初始化的时候输出高,另外把TX和RX的上拉都使能。
顺带提一下,内部RCH升频是有要求的,具体看用户手 ...

大佬,内部时钟最高是48MHZ,我只能使用22.12Mhz才能实现921600吗,我感觉我现在的主频22.12Mhz不太够用

wubangmi 发表于 2024-11-22 12:36

1111gyhh 发表于 2024-11-22 11:35
大佬,内部时钟最高是48MHZ,我只能使用22.12Mhz才能实现921600吗,我感觉我现在的主频22.12Mhz不太够用 ...

算给你看48000000/921600/8(按8采样分频来算)=6.5.实际写入寄存器的值为6.所以误差就是(6.5-6)/6.5=0.078525641025641所以误码率为7.8%的样子,基本上误码率大于0.16%就不建议用了。

给你个建议,你觉得在代码里那块地方22.12Mhz的主频不够用就先升频到48Mhz,用完了再切回到22.12Mhz。这么做的弊端就是你有可能错失在这个主频切换期间UART暂时没法正常用。

1111gyhh 发表于 2024-11-22 14:11

wubangmi 发表于 2024-11-22 12:36
算给你看48000000/921600/8(按8采样分频来算)=6.5.实际写入寄存器的值为6.所以误差就是(6.5-6)/6.5=0.0 ...

好的 谢谢大佬

yang377156216 发表于 2024-12-9 14:13

没有小数分频带来的理论误差,时钟源精度带来的实际误差。
页: [1]
查看完整版本: 使用HC32L196设置成921600波特率后打印乱码