Здравейте,
Когато публикувах първата статия във фейсбук, Коцето спомена за терминала на Arduino IDE.
Това е много полезно както за дебъгване, така и за показване на някаква информация по време на разработката, а защо не и след това.
Какво представлява терминалът? При програмиране на ESP8266 се използва серийна връзка. Понеже в момента все по-малко компютри имат сериен порт (COM), се използва конвертор от RS232, какъвто протокол се ползва там, към USB. Терминалът показва получената информация от контролера, а може и да предава обратно.
Извиква се със shift+control+M или от менюто.
ESP8266 поддържа скорост на предаване (baud rate) 115200, така че това трябва да изберете отдолу.
За да активираме серийната връзка, използваме
Serial.begin(baud_rate), където в нашия случай ще бъде:
Serial.begin(115200);
Serial.print(“text”); ще изведе съобщение в терминала, а
Serial.println(“new line”); ще добави и нов ред накрая.
Вземаме за пример предишния тест, с който мигаше вграденият светодиод, и го допълваме така, че да видим какво се случва:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
Serial.println("Ready!");
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on
Serial.println("The lights are on!");
delay(1000);
digitalWrite(LED_BUILTIN, LOW); // turn the LED off
Serial.println("The lights are off!");
delay(1000);
}
LED_BUILTIN е константа, указваща на кой извод е свързан вграденият светодиод, в нашия случай е GPIO2, или 2.
pinMode(LED_BUILTIN, OUTPUT); с тази инструкция инициализираме GPIO2 като изход.
digitalWrite(LED_BUILTIN, HIGH); задаваме високо логическо на избрания изход.
delay(1000); генерираме закъснение от 1 секунда (1000 милисекунди).
Записваме, компилираме, качваме и наблюдаваме какво се случва..
Хм. Пише The lights are on, а светодиодът е изгаснал… Значи светодиодът е свързан към плюс и подаването на ниско ниво ще го светне.
Коригираме кода, за да работи правилно.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
Serial.println("Ready!");
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); // turn the LED on
Serial.println("The lights are on!");
delay(1000);
digitalWrite(LED_BUILTIN, HIGH); // turn the LED off
Serial.println("The lights are off!");
delay(1000);
}
Записваме, компилираме и сме готови!
Ето как терминалът може да се използва за откриване на грешки.