久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2302|回復: 2
打印 上一主題 下一主題
收起左側

請大家幫我看看,我用esp8266連接單片機接收客戶端數據問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:282021 發表于 2019-11-29 17:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用esp發送的數據,at能夠通信。但是程序不能接收到客戶端發送的數據,應該是程序的問題,檢查了半天也看不出錯誤,串口調試助手能夠接收到數據,希望各位大佬看看。
#include "stc8f.h"
#include "intrins.h"
#define FOSC            11059200UL
#define BRT              (65536 - FOSC / 2400 / 4)
#define BRT1             (65536 - FOSC / 115200 / 4)
#define uchar unsigned char
#define uint unsigned int
sbit go1 = P1^6;//¹âñ¹Ø
sbit go2 = P1^7;//ESP
sbit spen = P3^5;//spwm Æô¶¯
sbit em   = P3^2;
uint fre;
bit busy;
uchar wptr=1;
uchar wpeg;
bit busy1;
bit flag;
uchar wptr1;
char datjudge;
uchar buffer[5]={'0',1,2,3,1};
uchar buffer1[16];
uchar jcase;
uchar vote;
uchar timer;
uchar husysdat;
void delay_uint(uint xms)
{
uint x,y;
for(x=0;x<xms;x++)
for(y=0;y<110;y++);
}
void TM0_Isr() interrupt 1
{
    timer++;
  if(timer&0x50)
  {
      timer=0;
    flag=1;
  }
}
void UartIsr() interrupt 4
{
    if (TI)
    {
        TI = 0;
        busy = 0;
    }
    if (RI)
    {
        RI = 0;
    if(husysdat&0x01)
    {
           buffer[wptr] = SBUF;
      wptr++;
           if(wptr&0x04)
      wptr=1;
    }
    }
}
void Uart2Isr() interrupt 8
{
    if (S2CON & 0x02)
    {
        S2CON &= ~0x02;
        busy1 = 0;
    }
    if (S2CON & 0x01)
    {
        S2CON &= ~0x01;
    buffer1[wptr1] = S2BUF;
    if(buffer1[wptr1]=='\n')
      wptr1=0;
    else
      wptr++;
  }
}
void UartInit()
{
    SCON = 0x50;
    TMOD = 0x00;
    TL1 = BRT;
    TH1 = BRT >> 8;
    TR1 = 1;
    wptr = 0x00;
    busy = 0;
}
void Uart2Init()
{
    S2CON = 0x10;
    T2L = BRT1;
    T2H = BRT1 >> 8;
    wptr1 = 0x00;
    busy1 = 0;
}
void UartSend(uchar dat)
{
    while (busy);
    busy = 1;
    SBUF = dat;
}
void Uart2Send(char dat1)
{
    while (busy1);
    busy1 = 1;
    S2BUF = dat1;
}
void Uart2SendStr(char *p)
{
    while (*p)
    {
        Uart2Send(*p);
    p++;
    }
}
void dq8010(uchar adr,uchar da)
{
  UartSend(adr);
  delay_uint(120);
  UartSend(da);
}
void esp8266rst()
{
    Uart2SendStr("AT+CWMODE=2\r\n");
    delay_uint(12000);
    Uart2SendStr("AT+CWSAP_DEF=\"bpq\",\"12345670\",4,4\r\n");
    delay_uint(12000);
    Uart2SendStr("AT+RST\r\n");
    delay_uint(24000);
    Uart2SendStr("AT+CIPMUX=1\r\n");
    delay_uint(12000);
    Uart2SendStr("AT+CIPSERVER=1,5050\r\n");
  delay_uint(12000);
  Uart2SendStr("AT+CWDHCP=0,1\r\n");
  delay_uint(12000);
  Uart2SendStr("AT+CIPSTO=0\r\n");
}
void voteud()
{  
  if(vote<0x8c)
  vote=0x8c;
  if(vote>0xa0)
  vote=0xa0;
  dq8010(0x83,vote);
}
void judge()
{
   switch(buffer1[9])
  {
     case '0':dq8010(0x81,0xaa);go1=0;break;//&Iacute;&pound;&Ouml;&sup1;
   case '1':dq8010(0x81,0x55);go1=1;break;//&AElig;&ocirc;&para;&macr;
   case '2':jcase=(0<<7);dq8010(0x82,jcase);break;//&Iacute;&acirc;&sup2;&iquest;&Auml;&pound;&Ecirc;&frac12;
   case '3':jcase=(1<<7);dq8010(0x82,jcase);break;//&Auml;&Uacute;&sup2;&iquest;&Auml;&pound;&Ecirc;&frac12;
   case '4':jcase=(1<<4);dq8010(0x82,jcase);break;//±&auml;&Ntilde;&sup1;
   case '5':jcase=(0<<4);dq8010(0x82,jcase);break;//&sup2;&raquo;±&auml;&Ntilde;&sup1;
   case '6':jcase=(1<<3);dq8010(0x82,jcase);break;//&Egrave;í&AElig;&eth;&para;&macr;
   case '7':jcase=(0<<3);dq8010(0x82,jcase);break;//&sup2;&raquo;&Egrave;í&AElig;&eth;&para;&macr;
   case '8':vote++;;voteud();break;//&micro;&ccedil;&Ntilde;&sup1;&Eacute;&yacute;
   case '9':vote--;voteud();break;//&micro;&ccedil;&Ntilde;&sup1;&frac12;&micro;
  }

}
void frejudge()
{  
   uchar b;
  uint a;
  a=buffer1[10];
  if(fre!=a)
  {
    a=a*2.54+0.5;
   b=a;
    dq8010(0x84,b);
   fre=a;
  }
}
void main()
{
    em = 0;
  go1 = 0;
  go2 = 0;
  P1M0 = 0XFF;
    P1M1 = 0X00;
  P3M0 = 0XFF;
  P3M1 = 0X00;
  //P_SW1 = 0x40;
  P_SW2 = 0x00;
    UartInit();
    Uart2Init();
  AUXR = 0x54;
  ES = 1;
    IE2 = 0x01;
  TL0 = 0x00;
   TH0 = 0x4C;
    ET0 = 1;   
  IP=0X01;
  IPH=0X11;
  IP2=0X00;
  IP2H=0X01;
    EA = 1;
  go2 = 1;
    esp8266rst();
  jcase=0xf2;
  dq8010(0x82,0xe2);
  dq8010(0x83,0x98);
  TR0 = 1;
  husysdat=0x01;
    while (1)
    {
    judge();
    frejudge();
    if(flag==1)
    {  
       TR0 = 0;
       Uart2SendStr("AT+CIPSEND=0,5\r\n");
     delay_uint(120);
     dq8010(0x41,0x00);
       delay_uint(120);
       Uart2SendStr(buffer);
     wpeg=0;
     flag=0;
     TR0 = 1;
    }
  }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:648281 發表于 2019-11-29 21:47 | 只看該作者
先說明白了你要實現什么
回復

使用道具 舉報

板凳
ID:215444 發表于 2020-1-2 16:51 | 只看該作者
百度下 case怎么用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一页二页 | av中文在线 | 亚洲一区二区三区在线播放 | 成人国产a | 中文字幕精品一区二区三区精品 | 亚洲视频一区二区三区四区 | 激情五月激情综合网 | 一区二区三区免费看 | 欧美国产一区二区 | 伊人网伊人网 | 看羞羞视频免费 | 日韩在线精品 | 中文字幕成人网 | 欧美一级黄 | 国产成人免费一区二区60岁 | 国产a区| 国产高清免费在线 | 成年人在线视频 | 久久av一区二区三区 | 中文字幕国产视频 | 亚洲电影一区二区三区 | 国产伦精品一区二区三区视频金莲 | 国产一区二区三区免费观看在线 | 国产精品久久 | 国产福利91精品 | 欧美精品中文字幕久久二区 | 久久久久久亚洲 | 91久久精品日日躁夜夜躁国产 | 久久九| www久久久| 中文在线a在线 | 神马久久久久久久久久 | 国产三级国产精品 | 欧美精品一区二区三区在线播放 | 久久人人网 | 精品国产精品三级精品av网址 | 欧美日韩国产一区二区三区 | 欧美成人免费电影 | 国产网站在线播放 | 欧美另类日韩 | 夜夜爽99久久国产综合精品女不卡 |