Хорошо, я googled получаю строку из Serial с Arduino, и мне не повезло, даже скопировать и вставить примеры.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(), он дает персонажу, тогда говорит, что ничего нет, затем дает другого персонажа и говорит, что ничего нет.
Последовательные порты очень медленные. Обычно вы получаете только один байт за раз, а затем ничего на какое-то время. Вам нужно будет справиться с этим в своем коде, вы не делаете этого сейчас. –