我真爱学习 发表于 2016-9-25 20:24

485通信接收异常

我自己做得隔离485通信模块焊好后用串口调试助手,发送数字的话就是一直显示00,发送字母比如aa,开始不受控制接收显示乱码,一直在接收,u是stm32,本人实在能力有限,希望有经验的能给我指点迷津,附上我的原理图和pcb。

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机里面的串口设置,如波特率、奇偶校验、停止位、数据位,是否和控制器里面的一致;第二步,可以排查一下硬件电路,通过读或写一个数据,看看接收数据寄存器或发送数据寄存器里面是否得到了期望的值。

vbcity 发表于 2016-9-26 01:52

R25、R14 太大,换成0欧姆,或者100欧姆以下。

gszou 发表于 2016-9-26 09:08

有示波器么?

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

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

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

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

我真爱学习 发表于 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

vbcity 发表于 2016-9-26 11:18

应该就是R25、R14 太大,根据6N137的说明,这个VE脚上需要0.6mA到1mA的灌电流,所以10K太大了。而且众多的实际电路中,这VE脚都是直接接到5V上的。

我真爱学习 发表于 2016-9-26 11:36

vbcity 发表于 2016-9-26 11:18
应该就是R25、R14 太大,根据6N137的说明,这个VE脚上需要0.6mA到1mA的灌电流,所以10K太大了。而且众多的 ...

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

david4383 发表于 2016-9-26 13:53

我用485就没好过,485千万不要成批应用,或者工业应用,会害死人的。不知道高手有没有运行稳定的。

yangaichimantou 发表于 2016-9-26 14:11

请楼主注意,485用电脑观测时,观测的485转usb模块必须是隔离的,否则就有可能造成读出0x00

我真爱学习 发表于 2016-9-26 14:32

yangaichimantou 发表于 2016-9-26 14:11
请楼主注意,485用电脑观测时,观测的485转usb模块必须是隔离的,否则就有可能造成读出0x00 ...

是吗,还有这种情况啊,

我真爱学习 发表于 2016-9-26 14:35

david4383 发表于 2016-9-26 13:53
我用485就没好过,485千万不要成批应用,或者工业应用,会害死人的。不知道高手有没有运行稳定的。 ...

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

david4383 发表于 2016-9-26 14:49

我能想到的方案就是CAN,可能会好些;成本稍高些。但是不用担心信号这样那样的问题。

qwertwuyu 发表于 2016-9-26 16:47

直接拉线接过去不行吗?不就一个信号吗?

我真爱学习 发表于 2016-9-26 16:51

qwertwuyu 发表于 2016-9-26 16:47
直接拉线接过去不行吗?不就一个信号吗?

你的意思是?

我真爱学习 发表于 2016-9-26 16:53

david4383 发表于 2016-9-26 14:49
我能想到的方案就是CAN,可能会好些;成本稍高些。但是不用担心信号这样那样的问题。 ...

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

vbcity 发表于 2016-9-26 20:18

楼主弄好了吗?

ddllxxrr 发表于 2016-9-26 20:37

本帖最后由 ddllxxrr 于 2016-9-26 20:39 编辑

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

gszou 发表于 2016-9-26 20:57

这485是半双工的,那U7输出的延时有没有计较?没有给充足时间留给U7输出,会乱码的。
页: [1] 2
查看完整版本: 485通信接收异常