इस त्वरित ट्यूटोरियल में हम देखेंगे कि हम Arduino सीरियल मॉनिटर या अन्य सीरियल टर्मिनलों से उपयोगकर्ता इनपुट स्ट्रिंग्स को कैसे पढ़ सकते हैं। त्वरित कदम.
serial_buffer_len
को परिभाषित करें जो अधिकतम उपयोगकर्ता इनपुट होगा जिसकी आप अपेक्षा कर रहे हैं।Serial.available()
का उपयोग करके जांचें कि क्या हमारे पास सीरियल डेटा उपलब्ध है।सीरियल_बफ़र
को लोड करने के लिए उपयोगकर्ता द्वारा परिभाषित read_serial_input()
फ़ंक्शन को कॉल करें।//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;
}
नमूना कोड अपलोड करने के बाद सीरियल मॉनिटर खोलें और हैलो वर्ल्ड जैसा कुछ इनपुट करें और फिर आप इसे सीरियल मॉनिटर में मुद्रित देखेंगे। यदि आप उपयोगकर्ता से स्ट्रिंग इनपुट करना चाहते हैं और उस पर कार्रवाई करना चाहते हैं तो यह बहुत उपयोगी कोड स्निपेट है।