Простая программа, перезапускающая устройство IoT.Все работает нормально, как и ожидалось.Как только я поместил этот код в мою большую программу, он больше не будет работать.Часть, где я читаю данные с устройства, просто вернет "" (пустые строки).Кто-нибудь знает, почему?
Рабочая программа просто:
#include <SoftwareSerial.h>
SoftwareSerial NB_IOT_DEV (12, 13); //(RX = 0, TX = 1)
String nbState = "";
void setup() {
Serial.begin(9600);
Serial.println(F("Hello World"));
NB_IOT_DEV.begin(9600);
Serial.println(F("Sending EASY+Restart"));
short i=0;
NB_IOT_DEV.println("EASY+Restart");
do {
nbState = NB_IOT_DEV.readString();
nbState.trim();
Serial.print(F("NB State: "));
Serial.println(nbState);
delay (1000);
i++;
} while (nbState.indexOf("ModemStatus:Detached") == -1 && i < 50);
Serial.println(F("Sending EASY+Device"));
i=0;
NB_IOT_DEV.println("EASY+Device");
do {
nbState = NB_IOT_DEV.readString();
nbState.trim();
Serial.print(F("NB State: "));
Serial.println(nbState);
delay (1000);
i++;
} while (nbState.indexOf("EASY#Device:Success") == -1 && i < 50);
}
void loop() {
}
В нерабочем эскизе у меня есть код внутри функции, вызываемой из функции цикла, это точно такой же код, но .readString () просто возвращает пустую строку.