485通讯

[复制链接]
7393|29
 楼主| Cary.xia 发表于 2013-2-1 14:17 | 显示全部楼层 |阅读模式
问题: 目前我有三个设备和我单片机通讯,设备有3个地址,分别是1,2,3
单独一个个通讯正常,把三个设备连在一起后通过手连手方式,设备通讯不正常.通讯线长度2米以下,设备间距也就20cm,
请问各位是什么原因造成的?帮忙分析下,谢谢了!
beanandpeach 发表于 2013-2-1 15:04 | 显示全部楼层
没遇过。。帮顶吧
dirtwillfly 发表于 2013-2-1 15:20 | 显示全部楼层
不应该啊。你能否提供下程序和原理图
andyding 发表于 2013-2-1 15:24 | 显示全部楼层
最好上图和程序(通信部分)
 楼主| Cary.xia 发表于 2013-2-1 15:38 | 显示全部楼层

485芯片直接和单片机想连。

通讯部分程序:PIC单片机
void Uart2(void)            //this uart port is used for 485
{
        BAUD2CON = 0;                        //        BRG16 = 0;
        RC2STA = 0X90;                                                //  BRGH = 1;
        SP2BRGH = 0;
        SP2BRGL = 25;
        TX2STA = 0X24;                                                // SYNC = 0;
                                                        //SPEN = 1;                //允许UART
                                                        //TXEN = 1;                //发射使能
        PIE4 = 0X20;                                                //RC1IE = 1;
}

void Send485(uchar *buff , uchar len)
{
        uchar  k;
        SEL_TX_EN;
        Delay1ms();
        for(k=0;k<len;k++)
        {
                while(!(TX2STA&0X02));
                //for(i=0;i<10;i++);
                TX2REG = buff[k];
                while(!(TX2STA&0X02));
        }
        while(!(TX2STA&0X02));
        Delay1ms();       
        SEL_RX_EN;
       
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
jlass 发表于 2013-2-1 15:45 | 显示全部楼层
考虑120欧的终端匹配,A/B线的上下拉电阻,滤波电容和TVS管。

能有个A/B线的波形图的话,估计问题马上就能解决了。
 楼主| Cary.xia 发表于 2013-2-1 15:47 | 显示全部楼层
距离短,需要终端电阻吗?
行,我去测试下波形,等我波形
csq463276932 发表于 2013-2-1 16:17 | 显示全部楼层
你是不是每个设备都接有终端电阻?三个相连之后导致门限电平不对。
shell.albert 发表于 2013-2-1 16:39 | 显示全部楼层
485的终端匹配电阻肯定是要加的。
yangbinge 发表于 2013-2-2 08:25 | 显示全部楼层
上拉 下拉电阻加上应该就可以了
 楼主| Cary.xia 发表于 2013-2-2 08:33 | 显示全部楼层
yangbinge 发表于 2013-2-2 08:25
上拉 下拉电阻加上应该就可以了

怎么加,兄弟!给个示意图
 楼主| Cary.xia 发表于 2013-2-2 08:34 | 显示全部楼层
csq463276932 发表于 2013-2-1 16:17
你是不是每个设备都接有终端电阻?三个相连之后导致门限电平不对。

我所有都没加电阻!
flyinginred 发表于 2013-2-2 08:35 | 显示全部楼层
1、A、B线接错;
2、主从没搞好,收发冲突;
3、设备都有终端电阻或无终端电阻;
mytempid 发表于 2013-2-2 09:02 | 显示全部楼层
能有个A/B线的波形图的话,估计问题马上就能解决了。

         
yangbinge 发表于 2013-2-2 11:01 | 显示全部楼层
A 端 3.3k上拉。 B端 3.3k下拉 试一下。
 楼主| Cary.xia 发表于 2013-2-2 14:14 | 显示全部楼层
yangbinge 发表于 2013-2-2 11:01
A 端 3.3k上拉。 B端 3.3k下拉 试一下。

我用的1k上拉,下拉电阻,还是不行!
 楼主| Cary.xia 发表于 2013-2-2 14:18 | 显示全部楼层
dwh000 发表于 2013-2-2 11:53
接线方式,应该是菊花链连接.不能直接都接单片机一点.
再就是程序是不是考虑了地址识别,不会三个设备都响应 ...

你的意思是,三台设备分别用线连接到485口?是这样吗?
 楼主| Cary.xia 发表于 2013-2-2 15:00 | 显示全部楼层


A和B之间的波形!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| Cary.xia 发表于 2013-2-2 15:01 | 显示全部楼层
上面是发送的波形,接收直接没!!!
yangbinge 发表于 2013-2-2 16:43 | 显示全部楼层
只接一个设备,是否能通信呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

134

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部