申し訳ありませんが、私はArduinoとシリアルから文字列を取得していると私は幸運を持っていないコピーし、貼り付け例。Arduinoは正しくシリアルを読むことができません
私はシリアルから文字列を取得しようとしています。私のコードは次のとおりです:
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;
}
を試してみましたが、それは(serial.print(INBYTE)が与えられる-1、他のすべての時間)を一度に1つの文字を返します。なぜシリアルが各キャラクターを分割しているのですか?
私は 'hello'と入力してserial.read()を呼び出すと、文字が得られ、何もないと言い、次に別の文字を与え、何もないと言います。
シリアルポートは非常に遅いです。一度に1バイトずつ取得し、しばらくは取得しません。コード内でこれを処理する必要がありますが、今はそうしていません。 –