このクイックチュートリアルでは、Arduino シリアル モニターまたはその他のシリアル端末からユーザー入力文字列を読み取る方法を検討します。 素早い手順。
serial_buffer_len
を定義します。Serial.available()
を使用して、利用可能なシリアル データがあるかどうかを確認します。read_serial_input()
関数を呼び出して serial_buffer
をロードします。//Serial buffer
#define serial_buffer_len 80
char serial_buffer[serial_buffer_len];
String user_input = "";
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0){
if (read_serial_input(Serial.read(), serial_buffer, serial_buffer_len) > 0) {
user_input = String(serial_buffer);
}
Serial.println("serial user input:" +user_input);
}
}
// funtion to read user serial input
int read_serial_input(int read_ch, char *buffer, int len) {
static int pos = 0;
int rpos;
if (read_ch > 0) {
switch (read_ch) {
case '\r': // Ignore CR
break;
case '\n': // Return on new-line
rpos = pos;
pos = 0; // Reset position index ready for next time
return rpos;
default:
if (pos < len-1) {
buffer[pos++] = read_ch;
buffer[pos] = 0;
}
}
}
return 0;
}
サンプル コードをアップロードした後、シリアル モニターを開き、hello world などを入力すると、シリアル モニターに表示されます。これは、ユーザーから文字列を入力し、それに対してアクションを実行する場合に非常に便利なコード スニペットです。