打印
[STC单片机]

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

[复制链接]
3569|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 chineseboyzxy 于 2024-11-30 08:36 编辑

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

使用特权

评论回复

相关帖子

沙发
LcwSwust| | 2024-11-29 14:05 | 只看该作者
时钟频率、串口配置、数据包、数据波形都看看呗

使用特权

评论回复
板凳
jackyhuang1988| | 2024-11-29 14:30 | 只看该作者
大概率是硬件问题。贴一下电路吧

使用特权

评论回复
地板
STCMCUNT015| | 2024-11-29 16:48 | 只看该作者
建议将485通信的原理图贴出来

使用特权

评论回复
5
jobszheng| | 2024-11-29 16:57 | 只看该作者
是不是使用了自动换向芯片?
降波特率先试试

使用特权

评论回复
6
full_stack| | 2024-11-29 18:02 | 只看该作者
时钟是否准确,有可能前两种主板容错率高,能识别,第三种不行。

使用特权

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

使用特权

评论回复
8
oufuqiang| | 2024-11-29 22:23 | 只看该作者
盲猜使用了三极管反相驱动REDE的收发自动切换电路。

使用特权

评论回复
9
chineseboyzxy|  楼主 | 2024-11-30 08:36 | 只看该作者
oufuqiang 发表于 2024-11-29 22:23
盲猜使用了三极管反相驱动REDE的收发自动切换电路。

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

使用特权

评论回复
10
chineseboyzxy|  楼主 | 2024-11-30 08:37 | 只看该作者
STCMCUNT015 发表于 2024-11-29 16:48
建议将485通信的原理图贴出来

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

使用特权

评论回复
11
dukedz| | 2024-11-30 09:00 | 只看该作者
本帖最后由 dukedz 于 2024-11-30 09:02 编辑

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

使用特权

评论回复
12
xionghaoyun| | 2024-11-30 15:22 | 只看该作者
是不是波特率太快了

使用特权

评论回复
13
海洋无限| | 2024-11-30 21:25 | 只看该作者
发送接收单独控制的话   要注意下转换时机

使用特权

评论回复
14
瞎折腾| | 2024-12-1 08:55 | 只看该作者
为哈不怀疑是安卓485的问题呢?抓一下安卓485发送和接收的信号看看啊

使用特权

评论回复
15
mxj100311| | 2024-12-1 14:27 | 只看该作者
估计板载485口有120欧的终端电阻,加上你的485口的两个100欧电阻,猜测信号不好

使用特权

评论回复
16
xch| | 2024-12-1 21:10 | 只看该作者
R22,R23都改成47Ω试试。也许是某端波特率偏离了

使用特权

评论回复
17
chineseboyzxy|  楼主 | 2024-12-2 08:36 | 只看该作者
xch 发表于 2024-12-1 21:10
R22,R23都改成47Ω试试。也许是某端波特率偏离了

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

使用特权

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

使用特权

评论回复
19
沈阳亿源电子| | 2024-12-2 22:25 | 只看该作者
用逻辑分析仪抓一下看看

使用特权

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

使用特权

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

本版积分规则

41

主题

678

帖子

0

粉丝