- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: LCD in C mittels WinAVR ansteuern zum x-ten mal

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35

    LCD in C mittels WinAVR ansteuern zum x-ten mal

    Anzeige

    Powerstation Test
    Hallo 8Bit-Freaks,

    Habe folgendes Problem:

    Möchte gerne mein LC-Display(16x4) unter C zum laufen bringen.
    Nach ca. 23345667 vergeblichen Versuchen wende ich mich nun an euch.

    Zur Hardware:

    Atmel Mega32
    LCD 16x4 HD77480

    Software: WinAVR / AVR-GCC

    Verwende die lcd.h und lcd.c von P.Fleury.

    Hier mein Code:

    void LCD_Anzeige (void)
    {
    PORTC=1;
    lcd_init(LCD_DISP_ON);

    PORTC=2;
    lcd_clrscr();

    PORTC=3;
    lcd_puts("H");

    PORTC=4;
    }

    int main(void)
    {
    DDRC = 0xff;
    LCD_Anzeige();
    }


    Beschreibung:
    Nach Programmstart wird LCD_Anzeige() aufgerufen.
    Danach leuchtet die LED1 an PORTC. Das LCD wird gelöscht.
    Nach löschen des Displays sollte nun LED2 von PORTC leuchten. Tut sie aber nicht. Ich gehe davon aus, dass mein Programm in der Routine lcd_init(LCD_DISP_ON); hängenbleibt.

    Einen Anschlussfehler des LCD schließe ich aus, da es sich unter Bascom fehlerfrei ansteuern lässt.

    Das LCD ist über PORTB mit meinem µC verbunden.

    Die entsprechenden Änderungen in der Datei lcd.h habe ich vorgenommen. Der Vollständigkeit wegen füge ich sie jedoch diesem Eintrag bei.


    Würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.

    Grüße an alle

    Henrik
    Angehängte Dateien Angehängte Dateien

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35

    Nachtrag

    Habe noch was vergessen.

    Der Header meines Codes enthält natürlich noch

    #include <avr/io.h>
    #include <lcd.h>

    Gruß

    Henrik

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Hi Henrik,
    du must noch die lcd.c einbinden!
    Ohne die geht es nicht! Wenn du den ganzen Ordner von Peter Fleury gedownloadet hast ist die lcd.c dabei!
    Gruß Michi

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35
    Hi michaelb,

    Danke für Deine schnelle Antwort. Hab das File eingebunden.
    Auf dem Display blinkt nun der Cursor an Position 1.
    Mehr passiert leider nicht.

    Da die LED an PORTC2 nicht leuchtet bleibt das Programm wohl immer noch stehen.

    Gruß

    Henrik

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Hi,
    ich hab bei mir noch andere header eingebunden:
    #include <stdlib.h>
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    #include "lcd.h"
    #include "lcd.c"
    so siehst bei mir der headerbereich aus!
    ich glaube eher nicht dass es daran liegt aber du kannst es ja mal ausprobieren!
    Gruß Michi

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35
    Hi Michi,

    hat leider keinen Erfolg gebracht.

    Könntest mir ja mal Deine lib.c und lib.h hier reinstellen.

    Hast Du in der lib.c was geändert ?

    Danke

    Henrik

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Hi Hendrik,
    ne die lcd.c hab ich nicht verändert!!
    Wie hast du bei deiner Schaltung den R/W Pin angeschlossen?
    Denn da gibt es einen Unterschied zwischen Bascom und der Lib!!
    Bei Bascom kommt R/W auf GND und bei der Lib die du verwendest an einen freien Pin des AVRs!
    Kannste mal deinen Schaltplan posten?
    Gruß Michi

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35

    Bild des Fehlversuchs

    Hab mal noch ein Bild gepostet, welches den Displayinhalt und LED1 zeigt.
    Vielleicht hilft es weiter.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken lcd_led1_an.jpg  

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Wie hast du jetzt den R/W Pin angeschlossen?
    Gruß Michi

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35
    Hi Michi !

    Alles klar - jetzt funzt es.

    R/W war auf Masse anstatt auf PORTB.6 .

    Dachte wenns bei Bascom klappt....

    Vielen, vielen Dank Michi.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad