在 Arduino 中将串口输入添加到“Char”变量可能会导致一些问题。特别是当使用串口进行调试时,您可能会注意到添加字符后无法正确打印。这是因为输入的字符以 CRLF(回车换行符)的形式读取,而这可能会对“Char”变量的输出造成问题。
为了解决这个问题,我们可以使用“String”类型的变量来读取串口输入,并使用“toCharArray()”函数将其转换为“Char”类型。然后,我们可以通过“Serial.print()”函数来打印该字符变量。
以下是一个示例代码,演示了如何将串口输入添加到“Char”类型的变量并正确打印它:
String inputString = ""; // 声明 String 类型的变量
char charArray[20]; // 声明 Char 数组
void setup() {
// 初始化串口
Serial.begin(9600);
}
void loop() {
// 读取串口输入并添加到 String 变量中
while (Serial.available() > 0) {
char inChar = Serial.read();
inputString += inChar;
}
// 检查是否读取到 CRLF
if (inputString.endsWith("\r\n")) {
// 将 String 转换为 Char 数组
inputString.toCharArray(charArray, 20);
// 打印 Char 数组
Serial.print("Input: ");
Serial.println(charArray);
// 重置 String 变量
inputString = "";
}
}
在上面的示例中,我们使用“inputString”变量来读取串口输入,并使用“endsWith()”函数检查是否已读取到 CRLF。如果是,则使用“toCharArray()”函数将输入转换为“Char”类型,并使用“Serial.print()”函数正确打印它。
请注意,我们在声明“charArray”时