为什么我的函数打印奇怪的字符? [关闭]

问题描述 投票:0回答:1

为什么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-有人可以解释一下为什么吗?

c++ avr-gcc
1个回答
0
投票

有两种不同的类型-char和指向char的指针。您的'A'功能参数是char-仅一个字节。您的函数需要一个字符串,它是指向char的指针。要正确发送数据,请使用"A"(双引号)。

© www.soinside.com 2019 - 2024. All rights reserved.