www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pcf8574p


Autor: Geri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi!

Habe mit folgendem Quellcode bei der Porterweiterung PCF8574 ein
problem:

// write a byte to a pcf8574 I/O expander
void i2c_8574_write(unsigned char kanal, unsigned char wert)
{
i2c_bus_start();
i2c_byte_write(kanal); // send DEVICE address

//i2c_ack_slave();
//i2c_byte_write(0x00); //alles auf 0 setzen
i2c_ack_slave();

// send the data
i2c_byte_write(wert); // send BYTE
i2c_bus_stop();
}


Wo kann der fehler liegen, die Hardware ist korrekt, habe den Baustein
4 mal in einer Schaltung und irgendwie funktioniert er nicht
Es ist immer ein Baustein, der der als erstes in der Software
angesprochen wird auf low. Außer der P3 der ist immer high!


Was mache ich falsch?

mfg,

Autor: Klaus...(Norad) (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Naja! ich mach da gerade in ASM rum.

Ich denke Du weisst das jeder I2C-Baustein eine Feste Adresse hat
z.B. PCF8574  0100 gefolgt von der Hardware Adresse.
     Festeadresse  Hardwareadresse
z.B.    0100          0001
hier wird der Baustein mit der Adresse 1 angesprochen.

Bausteine vom gleichen Typ müssen unterschiedliche Adressen haben.

Schau dir mal den Anhang an man muss auch noch R/W auch entsprechend
setzen.
In der ASM Routine die ich habe wird zuerst die Hardware Adresse
geladen und das Untere Nibble ausmaskiert.
Dann um einmal nach links geschoben und danach wird mit der Festadresse
verodert danach wird R/W bit gesetzt.

Ob es dir weiterhileft weiss ich nicht.

Klaus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.