- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 25

Thema: Mehere Ausgangspins

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    09.05.2010
    Ort
    Baden Württemberg
    Beiträge
    11
    Hallo Wolf,

    ich habe am PCA9555 ein LCD im 8-Bit Modus und ein Tastenkreuz mit 5 Tastern hängen. Bei mir schaut der relevante Teil so aus:
    Code:
    // PCA9555D: Adresse 0100 000x 
    // Schreib-Adresse 0x40, Lese-Adresse 0x41
    #define PCA9555_wr 0x40
    #define PCA9555_rd 0x41
     
    // Konfiguration: Port 1 Bits 3-7 auf Input 0-2 Output
    // Port 0 auf Output
    // Port 0 Register (Command 0x06) auf 0x00
    // Port 1 Register (Command 0x07) auf 0xF8
    void init_pca9555(void) 
    {
    i2c_init (); // I2C-Bus initialisieren (Grundzustand)
    i2c_start (); // Startbedingung I2C-Bus ausgeben
    i2c_schreiben (PCA9555_wr); // Adresse PCA9555
    i2c_schreiben (0x06); // Control-Byte 6
    i2c_schreiben (0x00); // Direction für Port 0
    i2c_schreiben (0xF8 ); // Direction für Port 1
    i2c_stop (); // Stoppbedingung I2C-Bus ausgeben
    }
    // pca9555_read_port1(void)
    // Liest 8 Datenbit von Port 1
    // P1.3-1.7 => Tastenkreuz
    unsigned char pca9555_read_port1(void)
    {
    unsigned char wert;
    i2c_init (); // I2C-Bus initialisieren (Grundzustand) 
    i2c_start (); // Startbedingung I2C-Bus ausgeben 
    i2c_schreiben (PCA9555_wr); // Baustein Adresse Schreiben 
    i2c_schreiben (0x01); // Controll-Byte lese Port 1 
    i2c_start (); // repeated Startbedingung I2C-Bus ausgeben 
    i2c_schreiben (PCA9555_rd); // Baustein Adresse lesen 
    wert = i2c_lesen (0); 
    i2c_stop (); // Stoppbedingung I2C-Bus ausgeben 
    return (wert); 
    }
    Beim Schreiben und Lesen auf nachfolgende Register muss nur 1x die Startadresse angegeben werden. Danach inkrementiert der Baustein die Registeradresse automatisch.

    gruß
    Bernhard
    Geändert von BASTIUniversal (25.04.2011 um 14:49 Uhr) Grund: Code-Box eingefügt

Berechtigungen

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

Solar Speicher und Akkus Tests