[STC单片机]

有没有用STC8H单片机做485通讯产品的大神,求助。

[复制链接]
1221|27
手机看帖
扫描二维码
随时随地手机跟帖
chineseboyzxy|  楼主 | 2024-11-29 12:59 | 显示全部楼层 |阅读模式
本帖最后由 chineseboyzxy 于 2024-11-30 08:36 编辑

STC8H3K64S2-LQFP48做了一批产品,485通讯测试时出了一点问题,和电脑用USB转485转换器通讯正常;和安卓工业主机用USB转485转换器通讯正常;和安卓工业主机板载的485直接连接通讯,数据出现错乱丢包。还请哪位大神分析一下到底是哪里的问题,单片机的内部时钟在485通讯中靠不靠谱呢。收发转换是单独管脚控制的,从来不用三极管自动转换电路,不靠谱。 485.png

使用特权

评论回复

相关帖子

LcwSwust| | 2024-11-29 14:05 | 显示全部楼层
时钟频率、串口配置、数据包、数据波形都看看呗

使用特权

评论回复
jackyhuang1988| | 2024-11-29 14:30 | 显示全部楼层
大概率是硬件问题。贴一下电路吧

使用特权

评论回复
STCMCUNT015| | 2024-11-29 16:48 | 显示全部楼层
建议将485通信的原理图贴出来

使用特权

评论回复
jobszheng| | 2024-11-29 16:57 | 显示全部楼层
是不是使用了自动换向芯片?
降波特率先试试

使用特权

评论回复
full_stack| | 2024-11-29 18:02 | 显示全部楼层
时钟是否准确,有可能前两种主板容错率高,能识别,第三种不行。

使用特权

评论回复
full_stack| | 2024-11-29 18:04 | 显示全部楼层
如果没有仪器,人为的调整波特率,比如,使用9600通信,单片机写个9000或者10000,看有没有正常。

使用特权

评论回复
oufuqiang| | 2024-11-29 22:23 | 显示全部楼层
盲猜使用了三极管反相驱动REDE的收发自动切换电路。

使用特权

评论回复
chineseboyzxy|  楼主 | 2024-11-30 08:36 | 显示全部楼层
oufuqiang 发表于 2024-11-29 22:23
盲猜使用了三极管反相驱动REDE的收发自动切换电路。

不好意思,电路图忘记上传了,收发是单独管脚控制的。

使用特权

评论回复
chineseboyzxy|  楼主 | 2024-11-30 08:37 | 显示全部楼层
STCMCUNT015 发表于 2024-11-29 16:48
建议将485通信的原理图贴出来

不好意思,电路图忘记上传了。

使用特权

评论回复
dukedz| | 2024-11-30 09:00 | 显示全部楼层
本帖最后由 dukedz 于 2024-11-30 09:02 编辑

没共地吧。还有,不要串 100R 的电阻,太大了,建议用 usb 用的共模电感

使用特权

评论回复
xionghaoyun| | 2024-11-30 15:22 | 显示全部楼层
是不是波特率太快了

使用特权

评论回复
海洋无限| | 2024-11-30 21:25 | 显示全部楼层
发送接收单独控制的话   要注意下转换时机

使用特权

评论回复
瞎折腾| | 2024-12-1 08:55 | 显示全部楼层
为哈不怀疑是安卓485的问题呢?抓一下安卓485发送和接收的信号看看啊

使用特权

评论回复
mxj100311| | 2024-12-1 14:27 | 显示全部楼层
估计板载485口有120欧的终端电阻,加上你的485口的两个100欧电阻,猜测信号不好

使用特权

评论回复
xch| | 2024-12-1 21:10 | 显示全部楼层
R22,R23都改成47Ω试试。也许是某端波特率偏离了

使用特权

评论回复
chineseboyzxy|  楼主 | 2024-12-2 08:36 | 显示全部楼层
xch 发表于 2024-12-1 21:10
R22,R23都改成47Ω试试。也许是某端波特率偏离了

不好意思,原理图忘记改了,实际用的全的33R的电阻,画图时是随便复制过来的。

使用特权

评论回复
99288697| | 2024-12-2 09:15 | 显示全部楼层
是不是线路上有高频干扰,你这个485是隔离后的输出吗? USB转485好用是因为一般USB有隔离了,但是485不一定有隔离。

使用特权

评论回复
沈阳亿源电子| | 2024-12-2 22:25 | 显示全部楼层
用逻辑分析仪抓一下看看

使用特权

评论回复
XZL| | 2024-12-3 09:25 | 显示全部楼层
1.RS485是异步通讯,这就要求时钟差别不能太大。晶振的误差尽量小。用在温度变化大的场合要选温漂小的晶振;
2.RS485最高通讯速率与通讯距离有关,距离远要尽量波特率尽量低;
3.RS485收发转换是通过引脚控制实现的,要考虑延迟时间。每次切换收发状态后,要延迟一下,等总线状态稳稳定后和下位机或主机完成状态切换定后在发送数据。

使用特权

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

本版积分规则

38

主题

640

帖子

0

粉丝