好汉林 发表于 2015-3-24 20:42:55

stc15系列的串口可不可以连续接收一串数据

在电脑串口助手上发送一串数据过去,然后用一个数组接收(5位)缓存,再后就是判断这一串数据的第一第二位接到到什么做出反应。可是我要在电脑串口助手上发送5次才能到所有数据做出判断,下面是我程序
void UART1_int (void) interrupt UART1_VECTOR
{
       
        if(RI)
        {
                if(RI)
                {
                           RI = 0;
                         RX1_Buffer = 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==0X44&& RX1_Buffer==0X31)                          //Y有用
                {
                          gn=1;
                }
                else if( RX1_Buffer==0x4D&& RX1_Buffer==0X31)                  //   M马达
                {
                        gn=2;
                }
                else if(RX1_Buffer==0X57)               //   W温度
                {
                        gn=9;       
                }
                else
                {
                        gn=0;       
                }
        //        RX1_Buffer=0;
        }
}

好汉林 发表于 2015-3-25 13:25:23

怎么就没人解答

好汉林 发表于 2015-3-25 20:53:47

看来没人答了

jianhong_wu 发表于 2015-3-25 22:18:08

这类具体的程序问题还是要靠自己的。但是你可以参考我的串口程序框架。
第三十八节:判断数据尾来接收一串数据的串口通用程序框架。

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

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

http://www.dumenmen.com/forum.php?mod=viewthread&tid=8&extra=page%3D1

黄伟达1992 发表于 2015-4-6 13:20:40

数组缓存采用Xdata方式定义数组
页: [1]
查看完整版本: stc15系列的串口可不可以连续接收一串数据