PCF8591 - I2C Protokoll

OP #3297351
Lesenswert?

Hallo!

Ich bin gerade dabei, einen PCF8591 an ein Raspberry Pi anzuschließen.
Bis jetzt bin ich leider gescheitert...
Ich habe das Datenblatt schon mehrmals studiert, doch leider ohne 
Erfolg.

Das ganze programmiere ich in Python.
Da ich als I2C-Modul das von Adafruit verwende, da ich andere Module 
damit anspreche, kann ich auch nicht das fertige Modul von quick2wire 
verwenden.

Konkret will ich:
  Adresse: 0x4d
  Single Ended Mode
  Auto-Increment
  Output disabled
und anschließend die Werte als Dezimalzahlen einlesen.

Ich würde mich über eine genaue Erklärung bzw. über eine Lösung wirklich 
freuen!
Angehängte Dateien:
#3297470
Lesenswert?

Hallo Peter,

die Frage von Spess kann ich nur wiederholen!
Woher hast du diese Zahl?
Ich habe es nicht so mit HEX-Zahlen; mit Binär kann ich
besser leben.

Hex 0x4d = 77 dez.

Was bei I2C immer wieder gerne vergessen wird, die 7-Bit Adresse
mit 2 zu multiplizieren, um die Adresse des Bausteins zu erreichen;
Bit 0 sagt eben nur 'Lesen' oder 'Schreiben'.
Ein 'ACK' müsstest du schon sofort erhalten bevor der ganze
Palaver losgeht!
Falls nicht -> Stress....

Deine Dez. 77 passen in kein Raster für einen PCF8591!
Es gibt ja welche mit unterschiedlichen Adresssen.
Deine ist sehr krumm.  Da solltest du nochmal nachsehen.

73
Wilhelm


PS:
So Etwas habe ich vor mehr als 20 Jahren unter Turbo-Pascal3
an der parallelen Schnittstelle auf die Beine gebracht.
Die Programmierung von I2C-ICs.. -> Kinderkram...
Selbst bei AVR-Controllern unter BASCOM - mit frei zu
definirieden Pins -  kein Problem.
OP #3298021
Lesenswert?

Hallo!

Die Adresse kommt so zustande, dass ich einfach mit einem Codierschalter 
die Pins für die Adress-Einstellung gegen +3.3V oder GND schalte.
Somit ist die Adresse eigentlich willkürlich gewählt und ich kann sie 
auch ändern.
Da ich zwei PCF8591 habe, habe ich nur drauf geachtet, dass sie 
unterschiedliche Adressen haben.
Aber was 0x4d betrifft:
Fixe Adresse   A2 A1 A0
     1 0 0 1    1  0  1

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren