独闷闷网

标题: stc15系列的串口可不可以连续接收一串数据 [打印本页]

作者: 好汉林    时间: 2015-3-24 20:42
标题: stc15系列的串口可不可以连续接收一串数据
在电脑串口助手上发送一串数据过去,然后用一个数组接收(5位)缓存,再后就是判断这一串数据的第一第二位接到到什么做出反应。可是我要在电脑串口助手上发送5次才能到所有数据做出判断,下面是我程序
void UART1_int (void) interrupt UART1_VECTOR
{
       
        if(RI)
        {
                if(RI)
                  {
                           RI = 0;
                         RX1_Buffer[RX1_Cnt] = SBUF;                //保存一个字节
                          if(++RX1_Cnt >= RX1_Lenth)        RX1_Cnt = 0;        //避免溢出处理
              }
        }

        if(TI)
        {
                TI = 0;
                B_TX1_Busy = 0;                //清除发送忙标志
        }

}



判断void judge()                //judge判断
{
        if(zb==1)
        {
                zb=0;
                if(  RX1_Buffer[1]==0X44&& RX1_Buffer[2]==0X31)                          //Y有用
                {
                          gn=1;
                }
                else if( RX1_Buffer[1]==0x4D&& RX1_Buffer[2]==0X31)                  //   M马达
                {
                        gn=2;
                }
                else if(  RX1_Buffer[1]==0X57)                 //   W温度
                {
                        gn=9;       
                }
                else
                {
                        gn=0;       
                }
        //        RX1_Buffer[9]=0;
        }
}

作者: 好汉林    时间: 2015-3-25 13:25
怎么就没人解答
作者: 好汉林    时间: 2015-3-25 20:53
看来没人答了
作者: jianhong_wu    时间: 2015-3-25 22:18
这类具体的程序问题还是要靠自己的。但是你可以参考我的串口程序框架。
第三十八节:判断数据尾来接收一串数据的串口通用程序框架。

第三十九节:判断数据头来接收一串数据的串口通用程序框架。

第四十节:常用的自定义串口通讯协议。

http://www.dumenmen.com/forum.ph ... &extra=page%3D1
作者: 黄伟达1992    时间: 2015-4-6 13:20
数组缓存  采用Xdata方式定义数组




欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2