打印
[485通信]

485通信接收异常

[复制链接]
7618|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我自己做得隔离485通信模块焊好后用串口调试助手,发送数字的话就是一直显示00,发送字母比如aa,开始不受控制接收显示乱码,一直在接收,u是stm32,本人实在能力有限,希望有经验的能给我指点迷津,附上我的原理图和pcb。

QQ截图20160925201913.png (17.13 KB )

QQ截图20160925201913.png

QQ截图20160925201959.png (389.44 KB )

QQ截图20160925201959.png

相关帖子

沙发
gszou| | 2016-9-25 22:41 | 只看该作者
请问楼主,6N137的3脚电平和6脚电平一样吗?是指高电平和低电平,当然,其各有各的地。

使用特权

评论回复
板凳
我真爱学习|  楼主 | 2016-9-25 23:11 | 只看该作者
gszou 发表于 2016-9-25 22:41
请问楼主,6N137的3脚电平和6脚电平一样吗?是指高电平和低电平,当然,其各有各的地。
...

我用万用表量了一下都是高电平

使用特权

评论回复
地板
麟凤龟龙| | 2016-9-25 23:37 | 只看该作者
第一步,可以看看PC机里面的串口设置,如波特率、奇偶校验、停止位、数据位,是否和控制器里面的一致;第二步,可以排查一下硬件电路,通过读或写一个数据,看看接收数据寄存器或发送数据寄存器里面是否得到了期望的值。

使用特权

评论回复
5
vbcity| | 2016-9-26 01:52 | 只看该作者
R25、R14 太大,换成0欧姆,或者100欧姆以下。

使用特权

评论回复
6
gszou| | 2016-9-26 09:08 | 只看该作者
有示波器么?

让Uart串口不停地发数据,观察看U8的3脚,U8的6脚(各不同的地),U6的4脚,U6的6,7脚等的信号变化。

再让串口切换为接收状态,在485端不停发出数据,依次观察各环节点的情况,

这按信号流经各个环节,一步一步查,完了你把上面操作及结果写清楚点。

你说那句“发送数字的话就是一直显示00”,我都不明白你说什么,谁发送,谁显示?

使用特权

评论回复
7
我真爱学习|  楼主 | 2016-9-26 10:23 | 只看该作者
gszou 发表于 2016-9-26 09:08
有示波器么?

让Uart串口不停地发数据,观察看U8的3脚,U8的6脚(各不同的地),U6的4脚,U6的6,7脚等的 ...

不好意思描述的不是很清楚。这个是pc通过串口调试助手发数据给单片机,然后单片机收到数据再把数据发送给pc,pc端显示00

使用特权

评论回复
8
vbcity| | 2016-9-26 11:18 | 只看该作者
应该就是R25、R14 太大,根据6N137的说明,这个VE脚上需要0.6mA到1mA的灌电流,所以10K太大了。而且众多的实际电路中,这VE脚都是直接接到5V上的。

使用特权

评论回复
9
我真爱学习|  楼主 | 2016-9-26 11:36 | 只看该作者
vbcity 发表于 2016-9-26 11:18
应该就是R25、R14 太大,根据6N137的说明,这个VE脚上需要0.6mA到1mA的灌电流,所以10K太大了。而且众多的 ...

好的,我去做一下调整试试看

使用特权

评论回复
10
david4383| | 2016-9-26 13:53 | 只看该作者
我用485就没好过,485千万不要成批应用,或者工业应用,会害死人的。不知道高手有没有运行稳定的。

使用特权

评论回复
11
yangaichimantou| | 2016-9-26 14:11 | 只看该作者
请楼主注意,485用电脑观测时,观测的485转usb模块必须是隔离的,否则就有可能造成读出0x00

使用特权

评论回复
12
我真爱学习|  楼主 | 2016-9-26 14:32 | 只看该作者
yangaichimantou 发表于 2016-9-26 14:11
请楼主注意,485用电脑观测时,观测的485转usb模块必须是隔离的,否则就有可能造成读出0x00 ...

是吗,还有这种情况啊,

使用特权

评论回复
13
我真爱学习|  楼主 | 2016-9-26 14:35 | 只看该作者
david4383 发表于 2016-9-26 13:53
我用485就没好过,485千万不要成批应用,或者工业应用,会害死人的。不知道高手有没有运行稳定的。 ...

可是以我的水平实际只能想到用485啊,一主多从,60路继电器,12分成一个板块,5个从机,一个stm32的主机,有其他的好的方案吗

使用特权

评论回复
14
david4383| | 2016-9-26 14:49 | 只看该作者
我能想到的方案就是CAN,可能会好些;成本稍高些。但是不用担心信号这样那样的问题。

使用特权

评论回复
15
qwertwuyu| | 2016-9-26 16:47 | 只看该作者
直接拉线接过去不行吗?不就一个信号吗?

使用特权

评论回复
16
我真爱学习|  楼主 | 2016-9-26 16:51 | 只看该作者
qwertwuyu 发表于 2016-9-26 16:47
直接拉线接过去不行吗?不就一个信号吗?

你的意思是?

使用特权

评论回复
17
我真爱学习|  楼主 | 2016-9-26 16:53 | 只看该作者
david4383 发表于 2016-9-26 14:49
我能想到的方案就是CAN,可能会好些;成本稍高些。但是不用担心信号这样那样的问题。 ...

你觉得一般的485应用需要隔离光耦吗,

使用特权

评论回复
18
vbcity| | 2016-9-26 20:18 | 只看该作者
楼主弄好了吗?

使用特权

评论回复
19
ddllxxrr| | 2016-9-26 20:37 | 只看该作者
本帖最后由 ddllxxrr 于 2016-9-26 20:39 编辑

u是stm32
哪里有U了??????从你的硬件上来看应是硬件有毛病,电平不对似的

使用特权

评论回复
20
gszou| | 2016-9-26 20:57 | 只看该作者
这485是半双工的,那U7输出的延时有没有计较?没有给充足时间留给U7输出,会乱码的。

使用特权

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

本版积分规则

17

主题

60

帖子

0

粉丝