Im Forum und im Wiki
-
Thread
PCF8574/PCF8574A Adressierung
Pull-down ). Dann gibt es einen "fixed-portion" Teil der Adressen; A3-A6 (für PCF8574: 0100, für PCF8574A: 0111). Aber es steht nicht ob man die (74 und 74A) ohne weiteres einfach so gegeneinander austauschen kann. Der PCF8574 und der PCF8574A sind identisch, mit Ausnahme des unterschiedlichen festen
> P S Die AVRs haben gar kein I2C, nur TWI ;-) Was hat der AVR von Microchip mit den PCF8574/PCF8574A von NXP zu tun?
-
Thread
Probleme mit meinem LCD-Display
14- oder 16-poliger Steckverbinder" nach. Dann schreibe die Zeilen auf ein Papier: RS -- PCF8574A Pin ? R/W -- PCF8574A Pin ? E -- PCF8574A Pin ? D0 -- nicht belegt D1 -- nicht belegt D2 -- nicht belegt D3 -- nicht belegt D4 -- PCF8574A Pin ? D5 -- PCF8574A Pin ? D6 -- PCF8574A Pin ? D7 -- PCF8574A Pin ? Dann nimm ein Ohmmeter im 0-200Ohm Bereich und ergänze die PCF8574A Pin-Bezeichnungen. Dies trage bitte in die lcd4.h ein.
-
Thread
#ifdef, #elif, #else und #endif
hallo, dein 'elif' schaut nach, ob PCF_8574A true ist. du willst sicher ein #elif defined PCF_8574A machen. vermute ich. siehe auch http://de.wikibooks.org/wiki/C-Programmierung:_Pr%C3%A4prozessor#elif hth
Der Fehler dürfte sein, dass #elif kein #ifdef beinhaltet #elif PCF_8574A Du meinst wahrscheinlich #else #ifdef PCF_8574A benötigt noch ein zweites #endif am Ende.
-
Thread
Raspberry Pi & PCF8574 wird nicht erkannt
Adresspins eingestellt wird. Du hast jetzt 0x38 als (7Bit-)Adresse, das ist die Grundadresse vom pcf8574A. Wenn du weitere pcf8574A hast, wären die nächsten Adressen 0x39 bis 0x3F. Dann kannst du außerdem noch 8 weitere pcf8574 (ohne A!) einsetzen im Adressbereich 0x20 bis 0x27. Mit pcf8574Setup()
André Aaaa schrieb im Beitrag #4031354: > Da ich eine Flachbaugruppe habe mit drei > PCF8574A und deren jeweilige A0-A3 verlötet sind um so die Adresse fest- > zulegen. Ich bräuchte ja demnach 9 zusätzliche Leitungen Wenn drei PCF8574A auf einer Baugruppe sind und auf dieselben Adressen
-
Thread
64 Eingänge für Arduino
Eugen T. schrieb im Beitrag #5878968: > Danke, leider in die Modulen baut niemand die PCF8574A-s ein, alle sind > nur mit PCF8574 bestückt. Deine acht PCF8574 können auch da bleiben, wo sie sind. Nur für deine 64 Eingänge könntest du die PCF8574A verwenden. Dann lägen deine Module auf den
.12 unter 8.3.2 (Interface Definition) steht richtig 0111xxx. (s.a. NXP Datenblatt zum PCF8574; PCF8574A Kap. 7.1 Device address, S.5) https://www.ti.com/lit/ds/symlink/pcf8574a.pdf https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf
-
Thread
PCF8574 muss mehrfach ausgelesen werden
schreiben I2CReadLength = 0; // 0 Byte lesen I2CMasterBuffer[0] = PCF8574A_ADDR | 0x0E; // 1. Byte = PCF8574A + Adresse (schreiben) I2CMasterBuffer[1] = 0xFF; // 2. Byte schreiben I2CEngine(); delay_ms(5);
I2CMasterBuffer[0] = PCF8574A_ADDR | 0x0E; // 1. Byte = PCF8574A +Adresse (schreiben) Ist die Schreib_Grund_Adr des Pcf 8574A nicht $71 ? C programmiere ich aber noch nicht.
-
Thread
i2c & LCD stellt sich quer :/
PCF8574A wird zumindest von TI im Datenblatt als 0x38 angegeben ("Responder Adress" in Fig. 7-2). Der Master baut diese I2C-Adresse mit dem R/W-Bit zum ersten übertragenen Byte zusammen.
Assembler und den ATMEGA8,16,32,168p sowohl in Ass als auch in C. Auch meine FernAnzeige (LCD mit PCF8574A) hatte bisher funktioniert. Erst mit dem Erwerb der sog. Arduino LCD Anzeige auf Basis des I2C-Adapters FC-113 macht mir Kummer. Deshalb war ich in diesem Forum. mfG Frewer
-
Thread
PCF8563 Uhrzeit läuft nicht weiter.
0x01); //Timer laden 1s (test) i2c_stop();; for(tmp=0;tmp<100;tmp++); i2c_start(PCF8574A_WRITE); i2c_write(0x02); i2c_rep_start(PCF8574A_READ); val = i2c_readNak(); i2c_stop(); if(val & 0x80) //Stromausfall? VL-Flag reset und Date/Time reset return(1); /
(PCF8574A_WRITE); i2c_write(0x00); i2c_write(0b00000000); i2c_write(0b00010001); i2c_stop(); i2c_start(PCF8574A_WRITE); i2c_write(0x0E); i2c_write(0b10000010); i2c_stop(); return