I will, 2019-03-28 15:01 采纳率: 0%
浏览 592
已结题

用WiFi8266作服务器,手机连接控制单片机,为什么就是连接不上主机,是不是代码有问题

#include<reg52.h> //51单片机常用的头文件
#define uchar unsigned char     //宏定义一个无符号的char类型
#define uint unsigned int       //宏定义一个无符号的int类型
sbit L1 = P2^0;
sbit L2 = P2^1;
sbit L3 = P2^2;
uint i;
uchar receiveTable[20]=' ';//用来存放接收到的字符串

void delayms(uint ms)   //延时
{
    uchar i;
    while(ms--)
    {
        for(i=0;i<120;i++);

    }
}

void sendByte(uchar b)
{
  SBUF = b;
  while(!TI);
  TI=0;
}
//发送字符串
void sendString(uchar *s)
{
  while(*s != '\0') //字符串默认结尾'\0',以此来判断字符串的结束
  {
    sendByte(*s);
    s++;
  }
}


void ManyConnect_AP()
{    
  SCON = 0x50;    //8位数据,可变波特率
  TMOD = 0x20;    //设置定时器1位16位自动重装模式
  TL1 = 0xfd;     //设置定时器初值,波特率为9600
  TH1 = 0xfd;
  ET1 = 0;        //禁止定时器1中断
  TR1 = 1;        //启动定时器1
  EA = 1;//开总中断

    delayms(1000);
    sendString("AT\r\n");
    delayms(1000);
    sendString("AT+RST\r\n");
    delayms(1000);                        //延时
    sendString("AT+CWMODE=2\r\n");        //设置ESP8266工作在station模式下,具体的AT指令可网上搜素一下
    delayms(1000);
    sendString("AT+CIOBAUD=9600\r\n");    //设置9600波特率,因为esp8266波特率默认是115200
    delayms(1000);  
    sendString("AT+CIPMUX=1\r\n");        //允许多连接
    delayms(1000);  
    sendString("AT+CIPSERVER=1,8080\r\n");     //建立服务器
    delayms(1000);  
    ES = 1;       //esp8266初始化之后开串口中断            
}

void UART() interrupt 4
{
    if(RI == 1)   
    {
        RI = 0;     //清除串口接收标志位
    receiveTable[i]=SBUF;
    if(receiveTable[0]=='+')
    {
        i++;
    }
    else
    {
        i=0;
    }
    if(i==10)
    {
        i=0;
        switch(receiveTable[9])
        {
            case '1':
                L1=0;
                break;
            case '2':
                L1=1;
                break;
            case '3':
                L2=0;
                break;
            case '4':
                L2=1;
                break;
            case '5':
                L3=0;
                break;
            case '6':
                L3=1;
                break;
        }
    }

  }
}
void main()
{

  ManyConnect_AP();

}










  • 写回答

1条回答 默认 最新

  • qq_36008632 2019-04-01 14:05
    关注

    先测试连接,后测试数据

    评论

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流