Auch Hey!
Ich hab den I2CLCD Code auch grad geflasht und bei mir passiert auch nichts.
Sieh mal hier: https://www.roboternetz.de/phpBB2/viewtopic.php?t=37897
Dort findest du funktioniere LCD-Codes.
Hey!
Ich habe das Programm I2CLCD aus der AsuroLibv271 auf mein Asuro geflasht und er macht nix! Ich habe es auch neu compliert mit dem AVR Studio und es kamen auch keine Fehlermeldungen und es tat immer noch nicht!
Das Demoprogramm von Arexx funktioniert allerdings auf dem Display einwandfrei!
Könnt ihr mir vieleicht helfen?
Das Programm:
Code:#include "asuro.h" #include "lcd.h" #include "i2c.h" #define DELAY 1500 int main(void) { Init(); InitI2C(); InitLCD(); PrintLCD("LCD Test: ", 0); Msleep(DELAY); while(1) { Msleep(DELAY); BacklightLCD(1); ClearLCD(); PrintSetLCD(3, 0, "Set Cursor"); Msleep(DELAY); ClearLCD(); PrintSetLCD(0 , 1, "Set Line"); Msleep(DELAY); ClearLCD(); PrintSetLCD(1 , 1, "Set Cursor Line"); Msleep(DELAY); ClearLCD(); PrintSetLCD(0 , 0, "Test Int"); SetCursorLCD(9,0); PrintIntLCD(10); Msleep(DELAY); ClearLCD(); PrintAlignLCD(LEFT , 0, "LEFT"); Msleep(DELAY); ClearLCD(); PrintAlignLCD(CENTER , 0, "CENTER"); Msleep(DELAY); ClearLCD(); PrintAlignLCD(RIGHT , 0, "RIGHT"); Msleep(DELAY); ClearLCD(); SetCursorLCD(0,0); PrintLCD("abcdefghijklmnopqrstuvwyz1234567", 1); Msleep(DELAY); } return 0; }
Auch Hey!
Ich hab den I2CLCD Code auch grad geflasht und bei mir passiert auch nichts.
Sieh mal hier: https://www.roboternetz.de/phpBB2/viewtopic.php?t=37897
Dort findest du funktioniere LCD-Codes.
Hallo,
damit das LCD aus dem Asuro Buch 2 mit der AsuroLib funktioniert, müssen erst ein paar Anpassungen an der Lib vorgenommen werden. (Die LCD und I2C Funktionen in der AsuroLib sind vor Erscheinen des LCD Moduls entstanden und mit Selbstbau LCD Modulen getestet worden).
Es sind die I2C Daten und Takt Pins vertauscht. Auch der Anschluß des LCD Moduls am PCF8574 ist anders.
Was dazu alles zu ändern ist, steht im AsuroWiki unter:
http://www.asurowiki.de/pmwiki/pmwik...LCDErweiterung
Wichtig: Die Asuro Lib muß danach neu übersetzt werden.
Danke m.a.r.v.i.n!
Durch die Änderungen in der AsuroLib funktioniert es nun!
Hey
Ich wollte mir mal die Batteriespannung auf dem Display anzeigen lassen, dazu habe ich dieses Programm geschrieben:
Auf dem Display wird aber nur eine 4 angezeigt, obwohl der Wert eigentlich aber 4,4605 ist!Code:#include "asuro.h" #include "lcd.h" #include "i2c.h" int main() { int Ubat; Init(); InitI2C(); InitLCD(); Ubat = 0.0055 * Battery(); PrintIntLCD(Ubat); BacklightLCD(1); }
Kann mir jemand sagen wie ich den richtigen Wert aufs Display bekomme?
du hast "int Ubat", als Integer(=Ganzzahlig abgerundet) verwendet. Nimm "float Ubat".
Aber wie gebe ich diesen Wert dann ans Display?
Hallo,
Float Werte in Strings kann mit der Funktion dtostrf wandeln.
Guck dir mal die PrintFloat Funktion aus der AsuroLib an.
http://asuro.svn.sourceforge.net/vie....c?view=markup
Die könnte man dafür anpassen.
Hey, danke!
Habs nun hinbekommen!
Dann habe ich noch ne Frage!
Sind die Makros LCD_KEY_YELLOW, LCD_KEY_RED und LCD_KEY_BLUE nicht mehr in der AsuroLib?
Lesezeichen