2014-12-04 44 views
0

我相信答案很简单,但我还是没有找到它。实际上,这段代码几乎可以做我想做的事......它等待输入,然后一旦用户输入了内容,它会检查第一个字母是否以元音开头。通过用户输入读取和使用字符串? C#(Arduino Uno)

对于是的,没有不同的消息显示。它会做到这一点......但如果我添加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"); 
} 
+0

如果这个忙等待',而(Serial.available()!){ ; }'是你的图书馆正确的方式,那么不要使用它。搜索另一个。 – 2014-12-04 21:32:20

回答