Хорошо, я погуглил, чтобы получить строку из Serial с помощью Arduino, и мне не удалось даже скопировать и вставить примеры.
Я пытаюсь получить строку из Serial. Вот мой код:
void setup() {
Serial.begin(9600);
Serial.write("Power On");
}
void loop()
{
while(!Serial.available());
while (Serial.available() > 0) {
Serial.write(Serial.read());
}
Serial.println();
}
И он выводит посимвольно.
Я также пробовал
char* read(int len) {
while (!Serial.available());
char str[len];
int i = 0;
while (i < len) {
str[i] = '\0';
int inByte = Serial.read();
Serial.println(inByte);
if (inByte == -1) {
return str;
} else {
str[i++] = inByte;
}
}
return str;
}
И он возвращает по 1 символу за раз (serial.print(inByte) дает -1 через раз). Почему серийный номер разделяет каждый символ?
Если я ввожу «привет» и вызываю serial.read(), он выдает символ, затем говорит, что ничего нет, затем выдает другой символ и говорит, что ничего нет.