共2条
1/1 1 跳转至页
RS485 RS485单片机多机通信问题求教!
问
8051单片机多机RS485通信。一主三从机。电平转换为MAX485芯片,按标准接法
接通电路,主机发送的信号通信后,只有一个从机接收(从单片机串口接收脚上看)接收的码是正确的,其它两个从面接收的码是反相的。而进入各从机MAX485的信号都是一样的。可能是MAX485信号转换上出现问题,但不知怎么回事,望有高手回复。多谢! 答 1: 把那两个不正确的的A B两根线交换一下连结试验一下 答 2: re这个问题我试过,如果把主机经MAX485发送的两根线换下后,三个从机接收的信号都正确(为主机发送信号的反相信号)。如果只换不正确的从机信号的A,B端,则接收信号就成了我需要的信号。但从机的三块电路板为制成电路板,没有可能接错线。现在我要知道的是,为什么标准的接法会产生不同的接收? 答 3: 等待chunyang中。。。 答 4: 地址对吗 答 5: 。。根本没到那一步,经MAX485转换后信号就反相了。 答 6: 请验证一下线路断电,量所有485芯片的A或B脚是否短路,注意AB脚因为匹配电阻的引入电阻本身比较小。 答 7: MAX485输入反向 MAX485输出反向问题我也经常遇到,至今仍然没找到解决办法,但大多数反了向的数据还是能正常接收。我认为是芯片的问题,你将好的那块芯片换到反向的那2块上面,也是正确的。 答 8: 程序有没有没写错程序啊! 答 9: 485是靠AB间的压差相对值决定逻辑状态的 首先要确认AB连接正确,A-A,B-B,其次保证总线上无其它影响线路电平的因素,总线偏置只能在一点(一般是主机处)进行,最后注意收发控制,线路上不准许多点同时发送,这要靠协议来保证。
排错时可用逐点排除法,现保证严格按我上面所讲的实现线路和软件,然后仅使用一主一从,正确后再加挂一新的节点,直至找出错误。不过估计是你的电路设计本身有误。 答 10: 多谢各位,问题解决。在A线上加720的上拉,B线上加720的下拉电阻。将不发码段拉离0电位。 答 11: 什么道理?"在A线上加720的上拉,B线上加720的下拉电阻"什么道理? 答 12: 上下拉电阻就是为了保证空闲时处于“1”状态不过我自己还是有些疑问:
1.这个解决方法好像不能和楼主前面描述的现象完全对应。
2.如果我没记错的话,MAX485芯片本身就有这些上,下拉电阻。
答 13: 建议楼上看看MAX485的器件手册此“拉”非彼“拉”。 答 14: 看来我还是记错了MAX485器件内应是没有对A,B线的上,下拉的。比较长时间没做硬件的东西,真的忘了,呵呵,不好意思,见笑了。
另:我第一个问题还是没搞清楚,怎么会有一个接收机在AB线颠倒前和颠倒后都接收正确呢?加了这些电阻只会将空闲状态的电平箝位,怎么会有将信号反向的功能呵?(“只有一个从机接收(从单片机串口接收脚上看)接收的码是正确的,其它两个从面接收的码是反相的。”),还望高人示下!
答 15: 我用一个主485带10个分485,怎么总是有几个得不到正确数据???我用一个主485带10个分485,怎么每次发送总是有几个得不到正确数据???
接通电路,主机发送的信号通信后,只有一个从机接收(从单片机串口接收脚上看)接收的码是正确的,其它两个从面接收的码是反相的。而进入各从机MAX485的信号都是一样的。可能是MAX485信号转换上出现问题,但不知怎么回事,望有高手回复。多谢! 答 1: 把那两个不正确的的A B两根线交换一下连结试验一下 答 2: re这个问题我试过,如果把主机经MAX485发送的两根线换下后,三个从机接收的信号都正确(为主机发送信号的反相信号)。如果只换不正确的从机信号的A,B端,则接收信号就成了我需要的信号。但从机的三块电路板为制成电路板,没有可能接错线。现在我要知道的是,为什么标准的接法会产生不同的接收? 答 3: 等待chunyang中。。。 答 4: 地址对吗 答 5: 。。根本没到那一步,经MAX485转换后信号就反相了。 答 6: 请验证一下线路断电,量所有485芯片的A或B脚是否短路,注意AB脚因为匹配电阻的引入电阻本身比较小。 答 7: MAX485输入反向 MAX485输出反向问题我也经常遇到,至今仍然没找到解决办法,但大多数反了向的数据还是能正常接收。我认为是芯片的问题,你将好的那块芯片换到反向的那2块上面,也是正确的。 答 8: 程序有没有没写错程序啊! 答 9: 485是靠AB间的压差相对值决定逻辑状态的 首先要确认AB连接正确,A-A,B-B,其次保证总线上无其它影响线路电平的因素,总线偏置只能在一点(一般是主机处)进行,最后注意收发控制,线路上不准许多点同时发送,这要靠协议来保证。
排错时可用逐点排除法,现保证严格按我上面所讲的实现线路和软件,然后仅使用一主一从,正确后再加挂一新的节点,直至找出错误。不过估计是你的电路设计本身有误。 答 10: 多谢各位,问题解决。在A线上加720的上拉,B线上加720的下拉电阻。将不发码段拉离0电位。 答 11: 什么道理?"在A线上加720的上拉,B线上加720的下拉电阻"什么道理? 答 12: 上下拉电阻就是为了保证空闲时处于“1”状态不过我自己还是有些疑问:
1.这个解决方法好像不能和楼主前面描述的现象完全对应。
2.如果我没记错的话,MAX485芯片本身就有这些上,下拉电阻。
答 13: 建议楼上看看MAX485的器件手册此“拉”非彼“拉”。 答 14: 看来我还是记错了MAX485器件内应是没有对A,B线的上,下拉的。比较长时间没做硬件的东西,真的忘了,呵呵,不好意思,见笑了。
另:我第一个问题还是没搞清楚,怎么会有一个接收机在AB线颠倒前和颠倒后都接收正确呢?加了这些电阻只会将空闲状态的电平箝位,怎么会有将信号反向的功能呵?(“只有一个从机接收(从单片机串口接收脚上看)接收的码是正确的,其它两个从面接收的码是反相的。”),还望高人示下!
答 15: 我用一个主485带10个分485,怎么总是有几个得不到正确数据???我用一个主485带10个分485,怎么每次发送总是有几个得不到正确数据???
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |