Hallo,
ich schreibe momentan ein Arduino-Programm, mit welchem man das LCD-Display über die serielle Schnittstelle beschreiben kann.
Problem, das ich dabei habe: Wenn ich erst das Board resette und dann die serielle Konsole von Arduino öffne und Zeichen sende, zeigt es weiterhin den Initialisierungstext an.
Nur wenn ich erst die Konsole öffne und dann das Board resette und Zeichen eintippe, erscheinen sie auf dem LCD.
Muss noch hinzufügen, dass ich Arduino unter Linux nutze, weiß nicht, ob es was damit zu tun hat. (Mir kommt es so vor, als würde Windows beim öffnen der seriellen Konsole das Board resetten?).
Anbei der Quellcode, falls es daran liegen sollte. (Kann gerne weitergenutzt werden, falls den jemand nützlich findet ;)).
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 8, 9, 10, 11);
int count=0;
void setup(){
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);
// initialize the serial communications:
Serial.begin(9600);
lcd.print("Send serial data");
}
void loop()
{
// when characters arrive over the serial port...
if (Serial.available()) {
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
// read all the available characters
while (Serial.available() > 0) {
// display each character to the LCD
lcd.write(Serial.read());
count++;
// wechsele in die naechste Zeile
if(count==16) lcd.setCursor(0,1);
// Autoscroll an und warten bis der Nutzer die Displayanzeige gelesen hat
if(count==32) { lcd.autoscroll(); delay(2000); }
//Und los geht das scrollen
if(count>=32) delay(500);
}
lcd.noAutoscroll();
}
count = 0;
}