- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Programmierung des LCD-Displays

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2007
    Alter
    34
    Beiträge
    19

    Programmierung des LCD-Displays

    Anzeige

    Powerstation Test
    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;
    }

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    57
    Beiträge
    847
    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.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    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.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2007
    Alter
    34
    Beiträge
    19
    Danke m.a.r.v.i.n!
    Durch die Änderungen in der AsuroLib funktioniert es nun!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2007
    Alter
    34
    Beiträge
    19
    Hey
    Ich wollte mir mal die Batteriespannung auf dem Display anzeigen lassen, dazu habe ich dieses Programm geschrieben:
    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);
    }
    Auf dem Display wird aber nur eine 4 angezeigt, obwohl der Wert eigentlich aber 4,4605 ist!
    Kann mir jemand sagen wie ich den richtigen Wert aufs Display bekomme?

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    57
    Beiträge
    847
    du hast "int Ubat", als Integer(=Ganzzahlig abgerundet) verwendet. Nimm "float Ubat".

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2007
    Alter
    34
    Beiträge
    19
    Aber wie gebe ich diesen Wert dann ans Display?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    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.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2007
    Alter
    34
    Beiträge
    19
    Hey, danke!
    Habs nun hinbekommen!

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2007
    Alter
    34
    Beiträge
    19
    Dann habe ich noch ne Frage!
    Sind die Makros LCD_KEY_YELLOW, LCD_KEY_RED und LCD_KEY_BLUE nicht mehr in der AsuroLib?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress