2014-12-04 87 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

回答