打印

RS485奇怪的问题

[复制链接]
1337|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lin34337151|  楼主 | 2011-2-21 09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/**接收数据函数**/
void recive_date()
{
      uchar i;
   uint cnt;
      for(i=0;i<3;i++)
   {
      RI=0;
   while(!RI)
   {
                cnt++;
    if(cnt>400)
    {  
       break;
    }
   }
   cnt=0;         
      RI=0;                  
   tabel[i]=SBUF;
   }
}
/**功能函数**/
void fun()
{
    recive_date();
  if(P2==tabel[0])//判断地址码
  {
      nn=tabel[1];
   mm=tabel[2];
   alarm=1;
  }
  else
      alarm=0;
  sendshow1_4099(1,1,1,nn0);
  sendshow1_4099(1,1,0,nn1);
  sendshow1_4099(1,0,1,nn2);
  sendshow1_4099(1,0,0,nn3);
  sendshow1_4099(0,1,1,nn4);
  sendshow1_4099(0,1,0,nn5);
  sendshow1_4099(0,0,1,nn6);
  sendshow1_4099(0,0,0,nn7);

  sendshow2_4099(1,1,1,mm0);
  sendshow2_4099(1,1,0,mm1);
  sendshow2_4099(1,0,1,mm2);
  sendshow2_4099(1,0,0,mm3);
  sendshow2_4099(0,1,1,mm4);
  sendshow2_4099(0,1,0,mm5);
  sendshow2_4099(0,0,1,mm6);
  sendshow2_4099(0,0,0,mm7);
////////////////
  sendout1_4099(1,1,1,nn0);
  sendout1_4099(1,1,0,nn1);
  sendout1_4099(1,0,1,nn2);
  sendout1_4099(1,0,0,nn3);
  sendout1_4099(0,1,1,nn4);
  sendout1_4099(0,1,0,nn5);
  sendout1_4099(0,0,1,nn6);
  sendout1_4099(0,0,0,nn7);

  sendout2_4099(1,1,1,mm0);
  sendout2_4099(1,1,0,mm1);
  sendout2_4099(1,0,1,mm2);
  sendout2_4099(1,0,0,mm3);
  sendout2_4099(0,1,1,mm4);
  sendout2_4099(0,1,0,mm5);
  sendout2_4099(0,0,1,mm6);
  sendout2_4099(0,0,0,mm7);
///////////////
}
/**初始化串口函数**/
void init_serial()
{   
  TMOD = 0x20;    // 定时器T1使用工作方式2
  TH1 = 250;
  TL1 = 250;
  TR1 = 1;     // 开始计时
  PCON = 0x80;    // SMOD = 1
  SCON = 0x50;    // 工作方式1,波特率9600kbit/s,允许接收
  tabel[0]=0xff;   //防止地址出错
  nn=0x00;
  mm=0x00;
  alarm=0;
  P2=0x0f;
}
/**主函数**/
void main()
{
       init_serial();
    while(1)           
    {
          //  scankey();
   fun();
    }
}

这是我从机接收部分,这样接收数据很正常,通信一点问题都没有,但是当我把上面打有////////中间的那部分函数去掉通信就不对了,是不是这些函数在这里相当延时恰好处还是怎么回事,希望高手指点,小弟感激不尽!

相关帖子

沙发
chunyang| | 2011-2-21 10:31 | 只看该作者
485接口的收发切换是需要时间的,一般1-2mS比较可靠。

使用特权

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

本版积分规则

113

主题

285

帖子

3

粉丝