0

我意识到您可以在 lcd.setCursor 中使用变量,但是当我尝试使用从串行端口读取的整数时,它对我不起作用。有可能的?

这是我的代码的相关部分的样子,目前没有打印:

int align

if( Serial.available() ) {
  align = Serial.read();
} 
if( Serial.available() ) {
  lcd.setCursor(align,0);
  lcd.print('test');
}
4

2 回答 2

1

看起来您阅读了串行,因此 Serial.available() 变为 0。第二个块不运行。取出

} 
if( Serial.available() ) {
于 2012-12-10T02:13:03.393 回答
0

你确定那是你想做的吗?如果您尝试读取一个数字然后移动光标,我认为您需要读取直到用户按下 enter('\r') 然后将您的字节从 read() 转换为整数。

char align[100];
while(Serial.available() && i< 99) {
  align[i++] = Serial.read();
}
align[i++]='\0';
lcd.setCursor(atoi(align),0);

如果这不是您想要的,可以添加一些 sudo 代码注释,以便人们可以遵循您的思路。

于 2012-12-10T23:50:15.293 回答