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 になります。2 番目のブロックは実行されません。テイクアウト

} 
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 に答える