首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

累加和校验的有关问题

2012-02-20 
累加和校验的问题单片机485通信的一个程序,调试程序的时候发现程序老卡在语句 while(RI0!1)//主机接收

累加和校验的问题
单片机485通信的一个程序,调试程序的时候发现程序老卡在语句 "while(RI0!=1);//主机接收正确,发回F0 "这里不往下运行,发送程序片段如下,请大家帮我看看是什么问题.
      int   sum;
      unsigned   char   i;                                    
            do
              {
                SPICS0=1;                                                                               //485发送使能
                delay(100);
                sum=0;       //清校验和
                for(i=0;i <30;i++)
                  {
                    SBUF0=TxBuffer[i];       //发送一数据
                    sum+=TxBuffer[i];
                    while(TI0!=1);
                    TI0=0;
                  }
                SBUF0=sum/256;                         //发送校验和
                while(TI0!=1);
                TI0=0;
                SBUF0=sum%256;
                while(TI0!=1);
                TI0=0;
                SPICS0=0;                                                 //485接收使能
                delay(100);                                           //延时                
                while(RI0!=1);                                   //主机接收不正确,发回F0。
                RI0=0;
              }
            while(SBUF0!=0xf0);       //主机接收不正确,重新发送


[解决办法]
是不是主机没有给你发数据啊

[解决办法]
没看到你的接收程序呀!

热点排行