打印

GD32F450串口接收不到数据

[复制链接]
2804|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tj250460882|  楼主 | 2021-6-9 11:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在调试GD32F450的串口,用的是485,用一个安卓屏和我们自己做的GD32F450板子通信,安卓屏发送GD32F450接收,发现有一些数据完全收不到,有一些数据出现误码,通过各种分析和示波器抓包,最后确定问题是安卓屏发送的数据低电平时长偏小导致的,比如我设置115200波特率,正常的高低电平应该是8.6us左右,但是我抓出来的低电平只有6us,这就导致起始位低电平时间不够,GD32F450不能正确的判断起始位,开始接收数据。但是我仔细看了开发手册里面说的16倍过采样,数据位采样3个点,取的是789三个点,按照这个说法,6us内是完全可以取到789点的,也是可以判断的;还有手册上面说3个采样点里面如果数值不一样会产生噪声错误(NERR),我使能了DMA和错误中断,也没有看见错误中断。能不能来个大神解答下疑惑,这个数据到底是怎么处理了,既没有接收也没有报错。

使用特权

评论回复
沙发
sonicll| | 2021-6-9 13:59 | 只看该作者
你测量的是485的信号,还是USART的TTL信号,有没有可能是485的接收使能控制没有处理好?

使用特权

评论回复
板凳
tj250460882|  楼主 | 2021-6-9 14:37 | 只看该作者
sonicll 发表于 2021-6-9 13:59
你测量的是485的信号,还是USART的TTL信号,有没有可能是485的接收使能控制没有处理好? ...

用的是差分探头测量的485的信号,我的485默认就是拉低接收状态,都没有发送数据,一直处于接收状态;我用PC端USB转485,再用串口小助手是能够正常接收到安卓屏发送过来的数据的;我们之前用的STM32F767也是能够正常接收到数据的。

使用特权

评论回复
地板
Zacharyo| | 2022-6-17 15:44 | 只看该作者
问题解决了吗?我用的是GD32F407ZKT6,也遇到了同样的问题。两片GD32通信,一片主机,一片从机,主机发送,从机能够接收到,但是回送数据错误。示波器监视串口发送,接收引脚没有任何问题,监视AB线也没问题。同样电路ST的就没问题。是不是这个单片机内部有问题,技术支持也不鸟人。

使用特权

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

本版积分规则

2

主题

7

帖子

0

粉丝