485通信接收异常
我自己做得隔离485通信模块焊好后用串口调试助手,发送数字的话就是一直显示00,发送字母比如aa,开始不受控制接收显示乱码,一直在接收,u是stm32,本人实在能力有限,希望有经验的能给我指点迷津,附上我的原理图和pcb。请问楼主,6N137的3脚电平和6脚电平一样吗?是指高电平和低电平,当然,其各有各的地。
gszou 发表于 2016-9-25 22:41
请问楼主,6N137的3脚电平和6脚电平一样吗?是指高电平和低电平,当然,其各有各的地。
...
我用万用表量了一下都是高电平 第一步,可以看看PC机里面的串口设置,如波特率、奇偶校验、停止位、数据位,是否和控制器里面的一致;第二步,可以排查一下硬件电路,通过读或写一个数据,看看接收数据寄存器或发送数据寄存器里面是否得到了期望的值。 R25、R14 太大,换成0欧姆,或者100欧姆以下。 有示波器么?
让Uart串口不停地发数据,观察看U8的3脚,U8的6脚(各不同的地),U6的4脚,U6的6,7脚等的信号变化。
再让串口切换为接收状态,在485端不停发出数据,依次观察各环节点的情况,
这按信号流经各个环节,一步一步查,完了你把上面操作及结果写清楚点。
你说那句“发送数字的话就是一直显示00”,我都不明白你说什么,谁发送,谁显示? gszou 发表于 2016-9-26 09:08
有示波器么?
让Uart串口不停地发数据,观察看U8的3脚,U8的6脚(各不同的地),U6的4脚,U6的6,7脚等的 ...
不好意思描述的不是很清楚。这个是pc通过串口调试助手发数据给单片机,然后单片机收到数据再把数据发送给pc,pc端显示00 应该就是R25、R14 太大,根据6N137的说明,这个VE脚上需要0.6mA到1mA的灌电流,所以10K太大了。而且众多的实际电路中,这VE脚都是直接接到5V上的。
vbcity 发表于 2016-9-26 11:18
应该就是R25、R14 太大,根据6N137的说明,这个VE脚上需要0.6mA到1mA的灌电流,所以10K太大了。而且众多的 ...
好的,我去做一下调整试试看
我用485就没好过,485千万不要成批应用,或者工业应用,会害死人的。不知道高手有没有运行稳定的。 请楼主注意,485用电脑观测时,观测的485转usb模块必须是隔离的,否则就有可能造成读出0x00 yangaichimantou 发表于 2016-9-26 14:11
请楼主注意,485用电脑观测时,观测的485转usb模块必须是隔离的,否则就有可能造成读出0x00 ...
是吗,还有这种情况啊, david4383 发表于 2016-9-26 13:53
我用485就没好过,485千万不要成批应用,或者工业应用,会害死人的。不知道高手有没有运行稳定的。 ...
可是以我的水平实际只能想到用485啊,一主多从,60路继电器,12分成一个板块,5个从机,一个stm32的主机,有其他的好的方案吗 我能想到的方案就是CAN,可能会好些;成本稍高些。但是不用担心信号这样那样的问题。 直接拉线接过去不行吗?不就一个信号吗? qwertwuyu 发表于 2016-9-26 16:47
直接拉线接过去不行吗?不就一个信号吗?
你的意思是? david4383 发表于 2016-9-26 14:49
我能想到的方案就是CAN,可能会好些;成本稍高些。但是不用担心信号这样那样的问题。 ...
你觉得一般的485应用需要隔离光耦吗, 楼主弄好了吗? 本帖最后由 ddllxxrr 于 2016-9-26 20:39 编辑
u是stm32
哪里有U了??????从你的硬件上来看应是硬件有毛病,电平不对似的 这485是半双工的,那U7输出的延时有没有计较?没有给充足时间留给U7输出,会乱码的。
页:
[1]
2