実現したいこと
RaspberryPiPicoとPCとのシリアル通信で、一文字ずつ送ったもじをChar配列の文字列にしたいです。
発生している問題・分からないこと
このコードを実行して、
cpp
1Serial.println(receivedChar);
の部分で文字が送られているのは確認できているのですが、改行キーを押しても空のBufferが返ってきます。
該当のソースコード
cpp
1#include <Arduino.h> 2 3 4void setup() { 5 Serial.begin(9600); 6} 7 8void loop() { 9 const int BUFFER_SIZE = 64; // バッファのサイズ 10 char buffer[BUFFER_SIZE]; // 受信文字を格納するバッファ 11 int index = 0; // バッファのインデックス 12 13 14 if (Serial.available()) { // シリアルバッファにデータがあるかどうかを確認 15 16 char receivedChar = Serial.read(); // 1文字読み込む 17 18 if (receivedChar != '\n') { // 改行文字でない場合 19 buffer[index] = receivedChar; // バッファに追加 20 index++; 21 Serial.println(receivedChar); 22 23 } else { // 改行文字が来た場合 24 buffer[index] = '\0'; // 文字列を終端する 25 Serial.println(buffer); 26 index = 0; // バッファをリセット 27 } 28 } 29}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
配列の基礎的な知識や、文字列の基本はわかったつもりでいますが、シリアルがわかりません。
解決方法を教えていただけるとありがたいです。
補足
特になし
回答1件
あなたの回答
tips
プレビュー