Хорошо, я гуглил получение строки из 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 символ за раз (серийный.print (inByte) дает -1 через каждый раз).Почему Serial разделяет каждый символ?
Если я ввожу 'hello' и вызываю serial.read (), он дает символ, затем говорит, что ничего нет, затем дает другой символ и говорит, что ничего нет.