Liste der Anhänge anzeigen (Anzahl: 1)
Hi Tobi
es klappt jetzt. Nachdem ich einige Teile des Programmes umgestellt habe und ein repeated start eingefügt habe. Danach habe ich mein PCF8574_test nochmal laufen lassen und er hat den auf 0x70 gefunden. Ich hatte gestern die Adresse per DIP-Switch geändert und heute nicht mehr daran gedacht. Getestet habe ich aber weiter auf 0x7F. Dumm gelaufen für mich.
Der JTAG war aus. Du erinnerst Dich, verdrehte Logik von Atmel 1=aus, 0=an
Ich füge die lauffähige Version mal ein. Gelesen wird mit dem Aufruf Portwert = PCF8574_read(subadresse des PCF8574 von 0-7)
geschrieben mit dem Aufruf
PCF8574_read(subadresse des PCF8574 von 0-7, Portwert)
Wie gesagt geht das PGM von einem AP Type mit Hauptadresse 0x70 aus.
Bei einem P Typ muß lediglich die 0x70 in 0x40 in der Funktion
PCF8574_sendAdrRW()
geändert werden.
Nein, das ist kein C++, sondern der ganz normale CAVR C-Compiler. Er weicht aber ziemlich vom GCC oder ICC AVR C-Compiler ab. Ich finde die Dialektflut der C-Compiler auch nicht gerade toll, aber was will man machen. Ich habe mir den halt vor ein paar Jahren mal gekauft. Da war das GCC Projekt noch nicht so weit wie heute.
Nach dem Erfolg mit dem PCF8574AP habe ich ein EEPROM 24C65 getestet. Das läuft bis einschließlich lesen des ersten Byte. Danach ist Pumpe. Ich habe aber in anderen Artikeln gesehen, dass der Baustein Page weise angesprochen wird. Kann man bei dem nicht einzelne Byte lesen oder schreiben? Naja, werde ich auch noch herauskriegen.
Erst mal vielen Dank für Deine Hilfe.
Ganz ganz liebe Grüße
Peter