在 Arduino 中,字符串(String)是一个字符数组,可以包含一个或多个字符。在与串口进行比较时,有两种常见的方法:使用字符串比较函数或使用字符数组比较。
使用字符串比较函数: Arduino 的 String 类型有一个 equals() 函数,可以用来比较两个字符串是否相等。这个函数会返回一个布尔值,如果两个字符串相等,则返回 true,否则返回 false。
void setup() { Serial.begin(9600); } void loop() { String inputString = Serial.readString(); // 从串口读取输入的字符串 if (inputString.equals("hello")) { Serial.println("Received: hello"); } else if (inputString.equals("world")) { Serial.println("Received: world"); } else { Serial.println("Invalid input"); } }
使用字符数组比较: 在 Arduino 中,你也可以使用字符数组(C-style strings)来比较字符串。你可以使用 strcmp() 函数来比较两个字符数2025香港内部正版大全042期组是否相等。这个函数会返回一个整数值,如果两个字符串相等,则返回 0,否则返回非零值。
void setup() { Serial.begin(9600); } void loop() { char buffer[50]; // 定义一个字符数组来存储输入的字符串 int bytesRead = Serial.readBytesUntil('\\n', buffer, sizeof(buffer)); // 从串口读取输入的字符串 buffer[bytesRead - 1] = '\\0'; // 添加字符串终止符 if (strcmp(buffer, "hello") == 0) { Serial.println("Received: hello"); } else if (strcmp(buffer, "world") == 0) { Serial.println("Received: world"); } else { Serial.println("Invalid input"); } }
无论使用哪种方法,都需要确保接收到的字符串与要比较的字符串格式相同,并且注意字符串末尾可能包含换行符或其他特殊字符,需要适当处理或删除。