2017-01-30 8 views
1

Я новичок в Arduino и у меня есть два вопроса ... я ничего не нашел в интернете о своих проблемах:Arduino и цветной ЖК-Shield

for(int i = 0; i < 3; i++) { 
    Serial.println("Test: " + i); 
} 

Выход:

test: 
est: 
st: 

Второй Проблема: Я использую LiquidCrystal для отображения текста на дисплее. Это цветной ЖК-экран Sparkfun.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
void setup() { 
    Serial.begin(9600); 
    /* NOT WORKING 
    lcd.begin(16, 2); 
    lcd.print("Hello World!"); 
    */ 

}

Спасибо за помощь мне!

ответ

1

первая проблема связана с тем, что "Test: " + i обрабатывается с арифметики указателей, в отличие от конкатенации который является то, что вы явно иметь в виду. Либо напишите Serial.print("Test: "); Serial.println(i);, используйте надлежащее String objects с concatenation operator или используйте sprintf.

второго проблема, вероятно, вызван тем, что ваш ЖК использует библиотеку ColorLCDShield.h вместо LiquidCrystal.h, и, таким образом, обрабатывается по-другому, чем более дешевые и более общие проявления. Я предлагаю вам для поиска в документации специфичной для вашего SparkFun ColorLCD модели на их website, они, как правило, обеспечивают несколько примеров кода для своих компонентов.

+0

Спасибо за ваш ответ. Я установил библиотеку ColorLCDShield и прочитал некоторые документы. Но библиотека дает мне некоторые ошибки: –

+0

/Users/praktikant/Documents/Arduino/libraries/SparkFun_Color_LCD_Shield_Arduino_Library-V_1.0/SparkFunColorLCDShield.h:352:80 предупреждение: сужение Конверсия «220» от «межд» до ' char 'inside {} [-Wnarrowing] –

+0

Это * предупреждение *, а не * ошибка *. И это определенно проблема с точки зрения программирования, так как символ 'char' in * Arduino * * подписан * и может хранить значения только в' -128, 127'. Не читая исходный код, я не могу дать окончательного ответа, но это может быть не вредно. –

 Смежные вопросы

  • Нет связанных вопросов^_^