独闷闷网

 找回密码
 立即注册
搜索
查看: 3820|回复: 4
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
发表于 2015-3-24 20:42:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
在电脑串口助手上发送一串数据过去,然后用一个数组接收(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:23 | 只看该作者
怎么就没人解答
乐于分享,勇于质疑!
板凳
 楼主| 发表于 2015-3-25 20:53:47 | 只看该作者
看来没人答了
乐于分享,勇于质疑!
地板
发表于 2015-3-25 22:18:08 | 只看该作者
这类具体的程序问题还是要靠自己的。但是你可以参考我的串口程序框架。
第三十八节:判断数据尾来接收一串数据的串口通用程序框架。

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

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

http://www.dumenmen.com/forum.ph ... &extra=page%3D1
乐于分享,勇于质疑!
5#
发表于 2015-4-6 13:20:40 | 只看该作者
数组缓存  采用Xdata方式定义数组
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-12-2 03:01 , Processed in 0.191211 second(s), 17 queries .

快速回复 返回顶部 返回列表