为什么Serial.println()
打印奇怪的字符?
void debugChar(char sName[]) {
Serial.println(strlen(sName));
Serial.println(sName);
Serial.println(sName[0]);
Serial.println(sName[1]);
}
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("Serial interface started");
debugChar('A');
}
输出为
Serial interface started
2
⸮
⸮
而且我不明白为什么我永远都不会获得A
-有人可以解释一下为什么吗?
有两种不同的类型-char
和指向char
的指针。您的'A'
功能参数是char
-仅一个字节。您的函数需要一个字符串,它是指向char
的指针。要正确发送数据,请使用"A"
(双引号)。