ESP8266 调试及配置代码
#include <ESP8266.h>#ifdef ESP8266_USE_SOFTWARE_SERIAL
SoftwareSerial ser1(2, 3); // 2 TX, 3 RX
#else
#define ser1 Serial1
#endif
int i = 0;
int j = 0;
byte b_r = {0};
byte b_t = {0};
int len = 1024;
long t = 0;
#define baud 9600
//#define baud 115200
void help() {
Serial.println("HELP:");
Serial.println("1.reset ESP8266 (AT+RST);");
Serial.println("2.version (AT+GMR);");
Serial.println("3.ap list (AT+CWLAP);");
Serial.println("4.login (AT+CWJAP=\"ssid\",\"pwd\");");
Serial.println("5.show wifi info (AT+CWJAP?);");
Serial.println("6.show ip (AT+CIFSR);");
Serial.println("7.exit wifi (AT+CWQAP);");
Serial.println("8.set baud = 9600 (AT+CIOBAUD=9600);");
Serial.println("9.set baud = 115200 (AT+CIOBAUD=115200);");
Serial.println("h.help info;");
Serial.println("input:");
}
void setup() {
ser1.begin(baud);
Serial.begin(baud);
help();
}
void loop() {
#ifndef __AVR_ATmega2560__
ser1.listen();
#endif
j = ser1.available();
while (j > 0) {
b_r = ser1.read();
i++;
if (i >= len) i = 0;
j--;
}
if (i > 0) {
j = 0;
while (j < i) {
Serial.write(b_r);
j++;
}
i = 0;
}
j = Serial.available();
while ( j > 0) {
b_t = Serial.read();
i++;
if ( i >= len ) i = 0;
j--;
}
if (i > 0) {
char c = b_t;
switch (c) {
//case 'h':
//help();
//break;
case '1':
ser1.print("AT+RST");
ser1.print("\r\n");
break;
case '2':
ser1.print("AT+GMR");
ser1.print("\r\n");
break;
case '3':
ser1.print("AT+CWLAP");
ser1.print("\r\n");
break;
case '4':
Serial.println("AT+CWJAP=\"ssid\",\"pwd\"");
break;
case '5':
ser1.print("AT+CWJAP?");
ser1.print("\r\n");
break;
case '6':
ser1.print("AT+CIFSR");
ser1.print("\r\n");
break;
case '7':
ser1.print("AT+CWQAP");
ser1.print("\r\n");
break;
case '8':
ser1.print("AT+CIOBAUD=9600");
ser1.print("\r\n");
break;
case '9':
ser1.print("AT+CIOBAUD=115200");
ser1.print("\r\n");
break;
default:
j = 0;
while (j < i) {
ser1.write(b_t);
j++;
}
i = 0;
t = millis();
}
}
if (t > 0 && millis() - t > 100) {
ser1.write(char(13));
ser1.write(char(10));
t = 0;
}
}
页:
[1]