Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: PCF8591 Kategorie: I²C-Bus (von martin binder - 6.05.2002 14:43)
Als Antwort auf Re: PCF8591 von Andre - 4.05.2002 14:46

> Hallo MArtin oder andere !
> Kann man auch nur einen Port Abfragen ?
> Gruss
> André
>
Hallo André,

bitte gib wenigstens den ersten Buchstaben deines Familiennamens ein,
der Moderator hei�t nämlich auch André mit H. hinten...

Ja, du kannst auch nur einen Eingang abfragen.
Das Controlbyte steuert beim PCF8591 die Funktion der Ein-/Ausgänge sowie
die weitere Abfrage. Ist etwas kompliziert zu verstehen, ich probiers mal zu erklären.

Sieh dir das Control - Byte mit der Bit - Beschreibung in meinem Treiber an,
hier einmal etwas besser aufgelistet:
------------------
// Control - Byte Bit-Werte : 0 a b b 0 c d d
// a .... analog output enable
// . . 0 = AUS
// . . 1 = EIN
// bb ... Input program mode
// . . 00..4 Eingänge  
// . . 01..3 differential-Eingänge
// . . 10..2 single, 2 differential
// . . 11..2 differential-Eingänge
// c .... Auto Increment  
// . . 0..dieser Eingang
// . . 1..nächster Eingang bei nächster Abfrage
// dd ... A/D-Kanalnummer
// . . 00 = Kanal 0
// . . 01 = Kanal 1
// . . 10 = Kanal 2
// . . 11 = Kanal 3
//========
// Beim Aufruf im Programm verwendest Du dann halt statt 0x44 in "Control"
// ( = 0100 0100 binär, das bedeutet : Ausgang EIN, Auto Increment )

pcfa.aout(i, 0x44, digi); . . .// output on, increment on

// einen anderen Wert wie 0x01
// ( = 0000 0001 binär, das bedeutet : Ausgang AUS, Eingang 01)

pcfa.aout(i, 0x01, digi); . . .// output off, increment off, line 1

// und dann fragst du nur einmal ab mit dem Befehl:

ain1 = pcfa.ain(i); // Wert 1
-------------------
Ich habs nicht selber probiert, aber es sollte so funktionieren.
Beim "increment on" stimmt die Kanalnummer nicht, das bedeutet
aber nur, daĂ? man halt etwas experimentieren muĂ?.

Viel spaĂ? dabei
Martin


    Antwort schreiben


Antworten: