使用HC32L196设置成921600波特率后打印乱码
最近在开发这款芯片,有没有大佬能给我解答一下为什么会乱码,115200和9600都试过了不会乱,921600和1000000就会乱。主频用22.12Mhz的,PCLK建议不要分频。其他主频误码率太高导致你乱码了 大佬,按照您说的配置了一下,确实好多了,可是还是差点意思 1111gyhh 发表于 2024-11-15 10:47
大佬,按照您说的配置了一下,确实好多了,可是还是差点意思
TX脚初始化的时候输出高,另外把TX和RX的上拉都使能。
顺带提一下,内部RCH升频是有要求的,具体看用户手册,有两种方式。
wubangmi 发表于 2024-11-15 11:07
TX脚初始化的时候输出高,另外把TX和RX的上拉都使能。
顺带提一下,内部RCH升频是有要求的,具体看用户手 ...
好的 谢谢您 1111gyhh 发表于 2024-11-15 10:47
大佬,按照您说的配置了一下,确实好多了,可是还是差点意思
连续不停发送0x55,测量一下方波频率是不是等于921600/2Hz。
RCH 频率可以微调。 xch 发表于 2024-11-15 18:24
连续不停发送0x55,测量一下方波频率是不是等于921600/2Hz。
RCH 频率可以微调。 ...
谢谢 已经解决了{:lol:} 1111gyhh 发表于 2024-11-18 10:59
谢谢 已经解决了
怎么解决的 wyde518 发表于 2024-11-18 13:23
怎么解决的
看楼顶那个大佬 我就按照他说的一步步改
wubangmi 发表于 2024-11-15 11:07
TX脚初始化的时候输出高,另外把TX和RX的上拉都使能。
顺带提一下,内部RCH升频是有要求的,具体看用户手 ...
大佬,内部时钟最高是48MHZ,我只能使用22.12Mhz才能实现921600吗,我感觉我现在的主频22.12Mhz不太够用 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暂时没法正常用。 wubangmi 发表于 2024-11-22 12:36
算给你看48000000/921600/8(按8采样分频来算)=6.5.实际写入寄存器的值为6.所以误差就是(6.5-6)/6.5=0.0 ...
好的 谢谢大佬 没有小数分频带来的理论误差,时钟源精度带来的实际误差。
页:
[1]