的Arduino和彩色液晶盾
问题描述:
我是新的Arduino的,我有两个问题... 我发现我的问题在互联网上没有什么:的Arduino和彩色液晶盾
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!");
*/
}
感谢您帮助我!
答
的第一问题是由于"Test: " + i
与指针运算处理,而不是字符串连接这就是你清楚心目中的事实。请写Serial.print("Test: "); Serial.println(i);
,使用正确的String objects与concatenation operator或使用sprintf
。
的第二问题可能是由您的LCD使用该库ColorLCDShield.h
代替LiquidCrystal.h
,因而比更便宜和更常见的显示器的处理方式不同造成的事实。 我建议你在他们的website查找的文档特定于您Sparkfun ColorLCD模型,他们通常为他们的组件提供几个代码示例。
感谢您的回答。 我安装了ColorLCDShield库并阅读了一些文档。 但是,图书馆给我一些错误: –
/Users/praktikant/Documents/Arduino/libraries/SparkFun_Color_LCD_Shield_Arduino_Library-V_1.0/SparkFunColorLCDShield.h:352:80:warning:将'220'从'int'转换为' char'inside {} [-Wnarrowing] –
这是*警告*,而不是*错误*。从编程的角度来看,这绝对是一个问题,因为* Arduino *中的char被*签名*,因此只能将值存储在'-128,127'中。没有阅读源代码,我不能给你一个明确的答案,但它可能没有害处。 –