打印
[技术问答]

HC32L130J8TA,串口115200发送正常,中断接收异常,然而2400~57600均正常

[复制链接]
3415|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lrzxc1|  楼主 | 2021-5-21 17:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
麻烦问下,使用L130J8TA,MDK5.28a,库版本使用hc32l13x_ddl_Rev1.9.2 Lite,现在的现象是:uart0使用pa09,pa10,使用RCH=4MHz,PLL至32MHz,115200bps下,发送数据正常,中断接收异常,其余波特率2400~57600均正常收发,实在找不出问题出在哪,有可能是芯片版本的问题吗,谢谢

使用特权

评论回复
沙发
lrzxc1|  楼主 | 2021-5-21 17:10 | 只看该作者
贴下串口关于中断的配置:
    stcCfg.stcBaud.u32Baud = baud;          //波特率:4800,9600,19200,38400,57600,115200 @32Mhz主频
    stcCfg.stcBaud.enClkDiv = UartMsk8Or16Div;         //通道采样分频配置,模式1/3为8分频
    stcCfg.stcBaud.u32Pclk = Sysctrl_GetPClkFreq();    //获得外设时钟(PCLK)频率值
    Uart_Init(M0P_UART0, &stcCfg);          //串口初始化

    Uart_ClrStatus(M0P_UART0,UartRC);       ///<清接收请求
    Uart_ClrStatus(M0P_UART0,UartTC);       ///<清发送请求
    Uart_EnableIrq(M0P_UART0,UartRxIrq);    ///<使能串口接收中断
    ///Uart_EnableIrq(M0P_UART0,UartTxIrq);    ///<使能串口发送中断
    EnableNvic(UART0_IRQn, IrqLevel1, TRUE);///<串口中断使能

使用特权

评论回复
板凳
Sunriver_Yao| | 2021-5-21 23:27 | 只看该作者
洒家也如此,碰上这问题。只接收4轮,再怎么,也就收不到(没引起中断)了!

使用特权

评论回复
地板
caizhiwei| | 2021-5-22 17:16 | 只看该作者
官方的库文件有问题~
问题还是出在波特率

使用特权

评论回复
5
lrzxc1|  楼主 | 2021-5-24 08:24 | 只看该作者
caizhiwei 发表于 2021-5-22 17:16
官方的库文件有问题~
问题还是出在波特率

115200,可以发送,但是接收出错,搞不懂啦

使用特权

评论回复
6
martinhu| | 2021-5-24 10:53 | 只看该作者
4M的主时钟,好像不支持115200了,需要把主时钟调大,发送看着正常,如果用示波器抓,其实误差很大了,用不了

使用特权

评论回复
7
lrzxc1|  楼主 | 2021-5-25 09:33 | 只看该作者
martinhu 发表于 2021-5-24 10:53
4M的主时钟,好像不支持115200了,需要把主时钟调大,发送看着正常,如果用示波器抓,其实误差很大了,用不 ...

使用RCH=4MHz,PLL至32MHz,PCLK=32MHz,这样的频率可否跑起来115200,关键是可以发送,中断接收异常,57600收发也正常

使用特权

评论回复
8
martinhu| | 2021-5-27 17:05 | 只看该作者
本帖最后由 martinhu 于 2021-5-27 17:47 编辑
lrzxc1 发表于 2021-5-25 09:33
使用RCH=4MHz,PLL至32MHz,PCLK=32MHz,这样的频率可否跑起来115200,关键是可以发送,中断接收异常,57 ...

发送的时候,不管波特率对不对,都能正常发送的啊,但是接收的时候,如果波特率不对,就会出错……这种情况用示波器抓一下波形就好了如下图:
32MHz做主时钟的时候,从2400~76800,波特率误差都没有问题,但是115200波特率的时候,如果是用OVER16,就可能存在误差大的问题。



使用特权

评论回复
9
lrzxc1|  楼主 | 2021-5-28 08:33 | 只看该作者
martinhu 发表于 2021-5-27 17:05
发送的时候,不管波特率对不对,都能正常发送的啊,但是接收的时候,如果波特率不对,就会出错……这种情况用示 ...

2楼相关代码:

微信图片_20210528083143.png (566.8 KB )

微信图片_20210528083143.png

使用特权

评论回复
10
martinhu| | 2021-5-28 13:11 | 只看该作者

要么发整个工程吧,光看这段代码没有意义。

使用特权

评论回复
11
lrzxc1|  楼主 | 2021-5-31 08:38 | 只看该作者
困扰多天的问题解决了,是外围485的问题,忽略了外围485的问题,现在ttl收发115200已正常,再次感谢各位老大们,谢谢

使用特权

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

本版积分规则

1

主题

64

帖子

1

粉丝