- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: LCD Ansteuerung

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Wenn ich in C was progge, dann nehm ich das AVRStudio.
    Wenn zu einem Project weitere .c und .h -Dateien hinzukommen, diese erst in das Verzeichnis kopieren, und dann im AVRStudio auf der linken Seite hinzufügen, dann klappts auch mit dem compilieren. Aber nur wenn die Dateien auch keine Fehler haben.

    Wo hast Du die lcd.* Dateien her, die Header Datei von oben (Anhang), ist so nicht ganz komplett !

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    weit weg
    Alter
    38
    Beiträge
    117
    Hi!!

    Ich habe diese von dem Link den du mir gezeigt hast!

    Da steht folgendes geschrieben!......

    AVR-GCC Programm

    Das Programm zur Ansteuerung des Displays im 4-Bit I/O Mode. Verwendet wird die lcdlibrary von Peter Fleury.

    Folgende Einstellungen sind für obiges Beispiele in der Header Datei lcd.h vorzunehmen:

    Code:
    ...
    
    /** 
     *  @name  Definitions for MCU Clock Frequency
     *  Adapt the MCU clock frequency in Hz to your target. 
     */
    #define XTAL 16000000              /**< clock frequency in Hz, used to calculate delay timer */
    
    
    /**
     * @name  Definition for LCD controller type
     * Use 0 for HD44780 controller, change to 1 for displays with KS0073 controller.
     */
    #define LCD_CONTROLLER_KS0073 0  /**< Use 0 for HD44780 controller, 1 for KS0073 controller */
    
    /** 
     *  @name  Definitions for Display Size 
     *  Change these definitions to adapt setting to your display
     */
    #define LCD_LINES           4     /**< number of visible lines of the display */
    #define LCD_DISP_LENGTH    20     /**< visibles characters per line of the display */
    #define LCD_LINE_LENGTH  0x40     /**< internal line length of the display    */
    #define LCD_START_LINE1  0x00     /**< DDRAM address of first char of line 1 */
    #define LCD_START_LINE2  0x40     /**< DDRAM address of first char of line 2 */
    #define LCD_START_LINE3  0x14     /**< DDRAM address of first char of line 3 */
    #define LCD_START_LINE4  0x54     /**< DDRAM address of first char of line 4 */
    #define LCD_WRAP_LINES      0     /**< 0: no wrap, 1: wrap at end of visibile line */
    
    #define LCD_IO_MODE      1         /**< 0: memory mapped mode, 1: IO port mode */
    #if LCD_IO_MODE
    /**
     *  @name Definitions for 4-bit IO mode
     *  Change LCD_PORT if you want to use a different port for the LCD pins.
     *
     *  The four LCD data lines and the three control lines RS, RW, E can be on the 
     *  same port or on different ports. 
     *  Change LCD_RS_PORT, LCD_RW_PORT, LCD_E_PORT if you want the control lines on
     *  different ports. 
     *
     *  Normally the four data lines should be mapped to bit 0..3 on one port, but it
     *  is possible to connect these data lines in different order or even on different
     *  ports by adapting the LCD_DATAx_PORT and LCD_DATAx_PIN definitions.
     *  
     */
    #define LCD_PORT         PORTC        /**< port for the LCD lines   */
    #define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
    #define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
    #define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
    #define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
    #define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0  */
    #define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1  */
    #define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2  */
    #define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3  */
    #define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
    #define LCD_RS_PIN       3            /**< pin  for RS line         */
    #define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
    #define LCD_RW_PIN       2            /**< pin  for RW line         */
    #define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
    #define LCD_E_PIN        1            /**< pin  for Enable line     */
    ...
    das habe ich dann als Header-Datei genohmen.

    Was fehlt den da noch???

    Das mit dem einbinden habe ich jetzt verstanden!
    kannst du mir helfen die Header-Datei zu vervollständigen???
    Wäre dir sehr Dankbar!!!
    MfG:P

    Woftschik

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Aah ich seh schon, Du hast nur die Zeilen aus dem Wiki kopiert.
    Aber das war so zu verstehen, dass man erst die LCD-lib holt, auf der Seite von Peter Fleury, dann kann man die im Wiki angegebenen Zeilen anpassen, an das eigene Projekt. Also an welchen Pins das LCD angeschlossen ist.
    Link ist auch im Wiki-Artikel, ganz unten.

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    weit weg
    Alter
    38
    Beiträge
    117
    Hi

    super!! Danke vor erstmal!
    Doch jetzt taucht ein weiters Problemm auf mit dem ich nicht fertig werde!

    Wenn ich in AVR Studio bin und (Alt + F7) drücke dann Compiliert AVR!!

    Anschließend will ich das Programm flashen bzw. über meinem USB ISP Programmer in AVR übertragen, dafür benötige ich doch ein .Hex Datei.
    Wieso wird dieser nicht bei dem Compilieren mit erzeugt????
    Oder gibt es eine andere möglichkeit zu übertragen????
    MfG:P

    Woftschik

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Wenns keine Fehler gegeben hat, ist die Hex-Datei schon irgendwo.
    Hast Du schon alle Unterverzeichnisse Deines Projektes durchsucht ?
    Meist ist die unter "default".

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    weit weg
    Alter
    38
    Beiträge
    117
    Also es ist so....

    Wenn ich nur F7 drücke dann habe ich wie in dem Bild "Fehler"
    dargestellt den Fehler.

    Wenn ich aber Alt + F7 dann habe ich kein Fehler siehe anderes Bild.

    Ich habe auch das Programm das mit dem "lcdlibary" probiert, das selbe problem.

    Was könnte das schon wieder sein????
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken fehler_207.gif   kein_fehler.gif  

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Da würde ich mal schätzen es liegt an dem, das im Pfad Verzeichnisnamen mit Leerzeichen vorkommen, das mag der compiler nicht.
    Bau mal ein neues Verzeichnis von C: her auf (ohne Leerzeichen), im dem die C-Projekte sind, dann schau ma weiter.

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.05.2006
    Ort
    Lippe
    Alter
    54
    Beiträge
    524
    Hallo,

    dir fehlen die zur Headerdatei gehörigen C-Dateien. Mit Alt F7 übersetzt du nur die aktuelle Datei. Das heißt wenn die verwendeten Funktionen in der Headerdatei definiert sind ist gut. Mit F7 wird das ganze Projekt übersetzt und auch die exe erzeugt. Dann fällt natürlich auf, dass die Funktionen zwar als Prototyp definiert sind, aber nirgends mit Rumpf auftauchen.
    Füge die C-Dateien in dein Projekt ein und gut ist.

    Gruß

    Jens

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    weit weg
    Alter
    38
    Beiträge
    117
    Hey Super!!!

    Danke für den Tip mit den weitere .c Dateien einbinden!

    Das Compilieren hat jetzt gefunzt. und übertragen auch, aber Display hat nur ein schwarzen Balken (siehe Bild lcd).

    Ich habe den LCD direkt an AVR ATmega16 angeschlossen genau wie es hier geschrieben wird...

    #define LCD_PORT PORTA /**< port for the LCD lines */
    #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */
    #define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */
    #define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */
    #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */
    #define LCD_DATA0_PIN 0 /**< pin for 4bit data bit 0 */
    #define LCD_DATA1_PIN 1 /**< pin for 4bit data bit 1 */
    #define LCD_DATA2_PIN 2 /**< pin for 4bit data bit 2 */
    #define LCD_DATA3_PIN 3 /**< pin for 4bit data bit 3 */
    #define LCD_RS_PORT LCD_PORT /**< port for RS line */
    #define LCD_RS_PIN 4 /**< pin for RS line */
    #define LCD_RW_PORT LCD_PORT /**< port for RW line */
    #define LCD_RW_PIN 5 /**< pin for RW line */
    #define LCD_E_PORT LCD_PORT /**< port for Enable line */
    #define LCD_E_PIN 6


    aber trotzdem nichts!!!

    habe auch #elif defined(__AVR_ATmega16__) reingeschrieben

    Anschlüsse habe ich auch oft genug kontroliert.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken board_165.gif   lcd_anschluss.gif   lcd_252.gif  
    MfG:P

    Woftschik

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    weit weg
    Alter
    38
    Beiträge
    117
    Hallo !!

    Kann das sein das es was mit den Fuse - Bits zu tun hat????
    Kenne mich leider nicht darin aus! Habe nur im Internet gelesen das es daran liegen könnte!

    Wenn ja, welche soll ich dan ändern?

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test