2.2 Arduino シリアル通信で文字列の入力(2)
2017/08/25
PR
Arduinoで通信する方法
Arduinoで通信する 文字列を受け取る
※1
123と入力して送信すると
1
2
3
となります。これはreadが1文字ずつ読み込まれる為です。
123と入力したらやっぱり123にしてみましょう。
シリアルモニタからの文字の受け取りで終了文字がくるまで繰り返すとうまくいきそうです。
Serial.readで指定文字が来るまで繰り返す方法でもよいのですが、ちょうどよいのがありました
str = Serial.readStringUntil(';');
;文字が来るまで入力値をStrに文字をためることができるようです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void setup(){ // シリアルポートを9600 bps[ビット/秒]で初期化 Serial.begin(9600); // 開始メッセージ Serial.write("START"); Serial.write("\n"); } void loop(){ String input; if (Serial.available() > 0){ // シリアルポートより1文字読み込む input = Serial.readStringUntil(';'); if(input != -1 ){ // 受け取った文字を送信 Serial.print(input); Serial.write("\n"); } } } |
ポイント
Serial.readStringUntil(';')
指定の文字がくるまで入力値を読み込む。この場合は;が来るまで文字を読み込むことができる。
>