OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4555|回复: 2

STC15F2K60S2 串口2接收数据判断问题

[复制链接]

7

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2019-2-11
在线时间
17 小时
发表于 2019-6-5 18:00:52 | 显示全部楼层 |阅读模式
10金钱
   

主要部分代码:


    主函数
       while(1)
      {

           switch(Uart2_SBUF)
           {
               case 'a': Uart1_SendString("one\r\n");break;//HC_Init();break;
               case 'b': Uart1_SendString("two\r\n");break;//HW_Init();break;
               case 'c': Uart1_SendString("2.4G\r\n"); break;//Two_Four_Init();//break;                           
           }   

      }


/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart1() interrupt 4 using 1
{
    if (RI)
    {
        RI = 0;                 //清除RI位
        Uart1_SBUF[J++] = SBUF;              //存储串口数据
        if(J >= 3)J = 0;
    }
   
    if (TI)
    {
        TI = 0;                 //清除TI位
        Uart1_busy = 0;               //清忙标志
    }
}

void Uart2() interrupt 8 using 1
{
    static BYTE t = 0;   
    if (S2CON & S2RI)
    {
        S2CON &= ~S2RI;         //清除S2RI位
        t = S2BUF;
        if(t == 'a' || t == 'b' || t == 'c')
        Uart2_SBUF = t;             //存储串口数据

   }

  
    if (S2CON & S2TI)
    {
        S2CON &= ~S2TI;         //清除S2TI位
        Uart2_busy = 0;               //清忙标志
    }
}



WIFI是ESP8266,通信是TCP的AP模式

简述逻辑:通过串口2接收WIFI发送的指令a、b、c,判断选择通信方式,以上用串口1输出代替。
出现困惑:WIFI发送指令,单纯发送一次(a),判断无果,连续发送(aaa)就可以正确判断,但这显然不符合代码的接收方式,然后还有其他问题,不过先弄清楚这个先,希望各路大神指点一二.......




最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2019-2-11
在线时间
17 小时
 楼主| 发表于 2019-6-5 18:00:53 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-6-6 02:34:19 | 显示全部楼层
帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 12:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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