请选择 进入手机版 | 继续访问电脑版
查看: 7612|回复: 0

ESP8266 调试及配置代码

[复制链接]

3

主题

9

帖子

86

积分

注册会员

Rank: 2

积分
86
QQ
发表于 2016-6-5 10:42:34 | 显示全部楼层 |阅读模式
  1. #include <ESP8266.h>
  2. #ifdef ESP8266_USE_SOFTWARE_SERIAL
  3. SoftwareSerial ser1(2, 3);    // 2 TX, 3 RX
  4. #else
  5. #define ser1 Serial1
  6. #endif
  7. int i = 0;
  8. int j = 0;
  9. byte b_r[256] = {0};
  10. byte b_t[256] = {0};
  11. int len = 1024;
  12. long t = 0;
  13. #define baud 9600
  14. //#define baud 115200

  15. void help() {
  16.   Serial.println("HELP:");
  17.   Serial.println("1.reset ESP8266 (AT+RST);");
  18.   Serial.println("2.version (AT+GMR);");
  19.   Serial.println("3.ap list (AT+CWLAP);");
  20.   Serial.println("4.login (AT+CWJAP="ssid","pwd");");
  21.   Serial.println("5.show wifi info (AT+CWJAP?);");
  22.   Serial.println("6.show ip (AT+CIFSR);");
  23.   Serial.println("7.exit wifi (AT+CWQAP);");
  24.   Serial.println("8.set baud = 9600   (AT+CIOBAUD=9600);");
  25.   Serial.println("9.set baud = 115200 (AT+CIOBAUD=115200);");
  26.   Serial.println("h.help info;");
  27.   Serial.println("input:");
  28. }

  29. void setup() {
  30.   ser1.begin(baud);
  31.   Serial.begin(baud);
  32.   help();
  33. }

  34. void loop() {
  35. #ifndef __AVR_ATmega2560__
  36.   ser1.listen();
  37. #endif
  38.   j = ser1.available();
  39.   while (j > 0) {
  40.     b_r[i] = ser1.read();
  41.     i++;
  42.     if (i >= len) i = 0;
  43.     j--;
  44.   }
  45.   if (i > 0) {
  46.     j = 0;
  47.     while (j < i) {
  48.       Serial.write(b_r[j]);
  49.       j++;
  50.     }
  51.     i = 0;
  52.   }
  53.   j = Serial.available();
  54.   while ( j > 0) {
  55.     b_t[i] = Serial.read();
  56.     i++;
  57.     if ( i >= len ) i = 0;
  58.     j--;
  59.   }

  60.   if (i > 0) {
  61.     char c = b_t[0];
  62.     switch (c) {
  63.       //case 'h':
  64.       //  help();
  65.       //  break;
  66.       case '1':
  67.         ser1.print("AT+RST");
  68.         ser1.print("\r\n");
  69.         break;
  70.       case '2':
  71.         ser1.print("AT+GMR");
  72.         ser1.print("\r\n");
  73.         break;
  74.       case '3':
  75.         ser1.print("AT+CWLAP");
  76.         ser1.print("\r\n");
  77.         break;
  78.       case '4':
  79.         Serial.println("AT+CWJAP="ssid","pwd"");
  80.         break;
  81.       case '5':
  82.         ser1.print("AT+CWJAP?");
  83.         ser1.print("\r\n");
  84.         break;
  85.       case '6':
  86.         ser1.print("AT+CIFSR");
  87.         ser1.print("\r\n");
  88.         break;
  89.       case '7':
  90.         ser1.print("AT+CWQAP");
  91.         ser1.print("\r\n");
  92.         break;
  93.       case '8':
  94.         ser1.print("AT+CIOBAUD=9600");
  95.         ser1.print("\r\n");
  96.         break;
  97.       case '9':
  98.         ser1.print("AT+CIOBAUD=115200");
  99.         ser1.print("\r\n");
  100.         break;

  101.       default:
  102.         j = 0;
  103.         while (j < i) {
  104.           ser1.write(b_t[j]);
  105.           j++;
  106.         }
  107.         i = 0;
  108.         t = millis();
  109.     }
  110.   }

  111.   if (t > 0 && millis() - t > 100) {
  112.     ser1.write(char(13));
  113.     ser1.write(char(10));
  114.     t = 0;
  115.   }
  116. }

复制代码




本帖子中包含更多资源

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

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

本版积分规则

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