通过用户输入读取和使用字符串?C# (Arduino Uno).
本文关键字:Arduino Uno 字符串 用户 输入 读取 | 更新日期: 2023-09-27 18:33:19
我相信答案很简单,但无论如何我都没有找到它。实际上,这段代码几乎可以完成我想要它做的事情......它等待输入,然后一旦用户输入了某些内容,它就会检查第一个字母是否以元音开头。
对于"是",不显示不同的消息。它会做得很好...但是如果我添加Serial.println(input)
来检查实际阅读的内容,我只会得到第一个字母。似乎它只是将第一个字符保存到第一个内存插槽中,没有别的。
我想保留整个单词,能够将其打印出来并稍后使用。 Serial.println(input[0])
打印的内容与前面提到的语句相同,并且Serial.println(input[1])
(或任何 1 更高的内容)不会打印任何内容,因此我假设问题首先在于阅读字符。
Serial.println("Enter a word: ");
while (!Serial.available()) {
;
}
char input[100] = {Serial.read()};
if (input[0] == 'a' || input[0] == 'e' || input[0] == 'i' || input[0] == 'o' || input[0] == 'u'){
Serial.println("the word begins with a vowel'n");
}
else{
Serial.println("the word does not begin with a vowel");
}
根据Arduino::Serial.Read()文档:
返回
传入串行数据的第一个字节可用(如果没有数据,则为 -1 可用) - 国际
所以在我看来,你只是在这里使用了错误的函数。
您可能需要使用 Arduino::Serial.ReadBytes()