我想做的是通过检测单词之间的空格,将来自串行输入的字符串转换为单个单词:
String input;
char split[]{};
String output;
String product;
int inputSize;
void setup() {
Serial.begin(9600);
Serial.println("ready");
}
void loop() {
if (Serial.available() > 0) {
input = Serial.readString();
input.toCharArray(split, 8);
inputSize = sizeof(input);
for (int i = 0; i < inputSize; i++){
if (isSpace(split[i])) {
product = output;
output = "";
Serial.println(product);
}else{
output = output + split[i];
}
}
}
}
我想做的是将字符串从串行输入转换为 通过检测单词之间的空格来识别单个单词 打印发送到串行监视器的所有单词,并分成不同的单词 字符串。
但是有时它会从输入字符串中发送一个单词,然后 有时它不发送,而是堆积并发送多个单词 一次没有空格
答案 0 :(得分:0)
使用以下代码,您将把字符串分成单词
String output;
void setup() {
Serial.begin(9600);
Serial.println("ready");
}
void loop() {
if (Serial.available() > 0) {
char input = Serial.read();
if((input == ' ')){
Serial.println(output);
output = "";
}else
output+=input;
}
}