- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: LCD über I2C ansprechen

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    10.10.2007
    Alter
    48
    Beiträge
    45

    LCD über I2C ansprechen

    Hallo liebe Mitstreiter,

    leider bin ich ein Programmier- und C-Anfänger und habe ein Problem und hoffe, dass es hier ein paar Leute gibt, die mir weiterhelfen können. Gerne würde ich ein Display über I2C und einen PCF8574 ansprechen. Dazu habe ich eine Schaltung gemäß des folgenden Links aufgebaut (https://www.roboternetz.de/community/threads/20277-LCD-%C3%BCber-I2C-C-Bibliothek-f%C3%BCr-AVR) und die "i2clcd.h" von hier genommen (http://computerheld.de/i2clcd/). Bevor ich Fragen zum eigentlichen Programm habe, brauche ich Hilfe zum Erstellen der HEX-Datei im AVRStudio 5.1.

    Ich habe meinem kleinen Programm die Codeschnipsel, wie auf computerheld.de angegeben (unter Documentation > Example), hinzugefügt. Die Dateien i2cmaster.h und i2clcd.h habe ich ins "Hauptverzeichnis" der Header-Dateien kopiert. Mein Programm schaltet eine LED Interrupt-gesteuert an und aus, was ohne I2CLCD-Funktionalität (in roter Schrift) gut klappt. Hier das Programm:

    Code:
    #include <avr/io.h>                // Header-Datei f. IO-Register
    #include <avr/interrupt.h>        // Header-Datei f. Interruptfunktion
    #include <stdint.h>                // Header-Datei f. standard Datentypen
    #include "i2clcd.h"
    
    
    volatile uint8_t tcount;        // Globale Variable (volatile)
    uint8_t x;                        // Lokale Variable zum Schalter des Ports
    
    
    ISR (TIMER0_OVF_vect)
    {
       /* Interrupt alle (16.000.000/256)/256 Hz = 244,140625 Hz
       bzw. 1/488,28125 s = 4,096 ms */
       
       tcount++;                    // tcount +1 pro Timer Interrupt (ca.10ms)
    }
    
    
    int main(void)                    // Hauptprogramm ab hier
    {
        x = 0;
        
        DDRD = (1 << DDD7);            // PortD7 als Ausgang für LED1
        lcd_init();                 //-     Display initialization
        
                                       // Timer 0 konfigurieren
        TCCR0 = (1<<CS02);             // Prescaler 256
        TIMSK |= (1<<TOIE0);        // Overflow Interrupt erlauben
     
        sei();                        // Global Interrupts aktivieren
        
        char string[] = "Hi World";
        lcd_print(string);                                      //-     Print a string
        lcd_gotolr(2,4);                                        //-     Move to position (line 2, row 4)
        
        while (1) {                    // Endlosschleife im Hauptprogramm
    
    
        if ( tcount > 121 ) {         // 122*4,096ms Warten (499,712ms)
            if ( x == 0 ) {            // Wenn x gleich 0 ist
            PORTD &= ~( (1<<PD7));    // ...deaktiviere Port D7
            x = 1;                    // Setze X auf 1
            }     
        else {                        // Ansonsten
            PORTD |= (1<<PD7);        // ...aktiviere Port D7
            x = 0;                    // Setze X auf 0
            }    
    
    
        tcount = 0;                // Zähler wieder auf 0 setzen
         
        }
    }
    }
    Nun zu meinem Problem. Wenn ich dieses Programm "kompilieren" möchte (F7 drücken), dann erscheinen die folgenden Fehlermeldungen: Klicke auf die Grafik für eine größere Ansicht

Name:	i2clcd_RN_20121229.jpg
Hits:	21
Größe:	21,5 KB
ID:	24146
    Könnt ihr entdecken, wo ich einen Fehler gemacht habe? Nach viel Sucherei und einigen Stunden arbeit, weiß ich nicht mehr weiter

    Schon jetzt vielen Dank für eure Mühe und Hilfe,
    euer Reissdorf
    Geändert von Reissdorf (30.12.2012 um 15:01 Uhr)

Ähnliche Themen

  1. LCD an PCF8574 über I2C - 2*16 läuft / 4*20 LCD nicht?
    Von stfan1409 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 15.04.2012, 16:06
  2. Anfängerfrage: AtMega32 über I2C im Slavemode ansprechen
    Von Phi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 23.04.2008, 17:25
  3. LCD über Subroutine ansprechen ???
    Von Enrico3 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 21
    Letzter Beitrag: 23.02.2007, 10:31
  4. RNB FRA 1.22 oder RN Control über I2C ansprechen
    Von Dr.U.Bianchi im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 31
    Letzter Beitrag: 05.07.2005, 11:55
  5. 2.te C-control M2.0 über I2C-Bus ansprechen?
    Von zerbarus im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 11.03.2005, 14:45

Stichworte

Berechtigungen

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

12V Akku bauen