打印
[技术问答]

华大HC32L110C6UA系统时钟频率和串口波特率问题请教

[复制链接]
1756|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 JacksonChen 于 2024-11-12 11:14 编辑

各位大佬好,刚接触华大芯片,小白一枚,请教一下如何在HC32L110C6UA的低功耗串口下使用外部低速32.768kHz系统时钟下,配置串口波特率是9600,虽然从网上搜过资料了解到9600波特率下使用外部低速时钟的误差率是44%,但是产品需要用到的蓝牙模块最低的波特率设置是9600,所以请教一下大佬们这个应该如何解决呢?
-----------------------------后续---------------------------
根据华大例程修改为使用38400hz系统时钟后,能够进行输出打印了,但是在9600波特率下仍会有数据中断接收乱码情况,得降到2400波特率下数据接收才正常。但是后续使用的蓝牙模块最低的波特率配置是9600,请教下大家应该如何解决在9600波特率下正常接收中断数据。

//9600波特率接收乱码情况


//2400波特率接收正常情况

使用特权

评论回复
沙发
wubangmi| | 2024-10-30 17:28 | 只看该作者
上来先批评你,不要死脑筋,大家都告诉你不能用了你就不要继续掉坑里去,要听劝。

L110不能用外部32768作为低功耗串口的时钟源,不然误码率大根本收不到正确的数据,如果你用的外部低频晶振是38400HZ的,那你可以用。

当然低功耗串口最大的波特率也不能超过9600,波特率再往上,就用不了啦,至于为什么用不了是有关串口时钟源和采样1bit用几个clock的问题,这里不讨论。

给你的建议就是外部挂一个32768的晶振,内部38400的晶振也使能,低功耗串口用内部38400作为时钟源。把L110的时钟校准模块(clktrim)用起来,在你需要的时间节点校准一次内部的38400,保你平安无事。

使用特权

评论回复
评论
JacksonChen 2024-10-31 09:22 回复TA
@wubangmi 好吧,谢谢你 
wubangmi 2024-10-31 09:05 回复TA
@JacksonChen :LPUART的低功耗模式和普通模式配置不一样,你要仔细看用户手册 
JacksonChen 2024-10-30 17:47 回复TA
哦哦好的,我原本是有打印输出调试语句的,可是为什么将系统时钟频率改到38400之后就没有输出打印了,timer = LPUart_SetBaudRate(sclk , stcLpuart_clk.enSclk_Prs , &stcBaud);这里面的sclk是38400,还有其他什么地方需要修改的吗 
板凳
tax2r6c| | 2024-11-11 23:46 | 只看该作者
你好!在HC32L110C6UA芯片上使用外部低速32.768kHz系统时钟配置串口波特率为9600时,确实会遇到较大的误差问题。

使用特权

评论回复
地板
lix1yr| | 2024-11-12 07:37 | 只看该作者
由于32.768kHz时钟频率较低,直接用于配置9600波特率会导致较大的误差率(约44%),这通常会导致通信不稳定。

使用特权

评论回复
5
p0gon9y| | 2024-11-12 08:23 | 只看该作者
HC32L110C6UA芯片内部有一个高频时钟(如HRC或LRC),可以用来配置串口波特率。虽然这会增加功耗,但可以确保波特率的准确性。

使用特权

评论回复
6
q1d0mnx| | 2024-11-12 09:33 | 只看该作者
如果外部条件允许,可以使用一个外部高频时钟(如32MHz)来配置串口波特率。这样可以确保波特率的准确性,同时降低误差。

使用特权

评论回复
7
q1ngt12| | 2024-11-12 11:41 | 只看该作者
如果必须使用32.768kHz时钟,可以考虑使用分频器来调整时钟频率,使其更接近9600波特率所需的频率。例如,可以将32.768kHz分频为16.384kHz,然后再进行进一步的分频。

使用特权

评论回复
8
liu96jp| | 2024-11-12 12:48 | 只看该作者
如果蓝牙模块支持其他波特率,可以尝试调整波特率,使其更接近32.768kHz时钟的倍数。例如,尝试使用4800或19200波特率,看看是否能满足需求。

使用特权

评论回复
9
cen9ce| | 2024-11-12 13:55 | 只看该作者
在HC32L110C6UA芯片上使用外部低速32.768kHz时钟配置串口波特率为9600时,误差较大,通常会导致通信不稳定。建议使用内部高频时钟(如HRC)或外部高频时钟来配置串口波特率,以确保波特率的准确性。如果必须使用32.768kHz时钟,可以考虑使用分频器或调整波特率,使其更接近32.768kHz时钟的倍数。

使用特权

评论回复
10
ex7s4| | 2024-11-12 14:11 | 只看该作者
我觉得不行吧,你还是换成内部的高速时钟吧

使用特权

评论回复
11
lamanius| | 2024-11-12 16:16 | 只看该作者
我觉得用个外部的高精度晶振应该也是可以的啊

使用特权

评论回复
12
su1yirg| | 2024-11-12 19:11 | 只看该作者
其实就是误码率比较大,你要是能接受,其实我也不建议,因为根本不稳定

使用特权

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

本版积分规则

7

主题

24

帖子

0

粉丝