Sida 1 av 1

Seriell ADC (PCF8591)

Postat: 24 juni 2004, 14:50:46
av fatpo83
När man arbetar med flerkanalig ADC (här en PCF8591 4ch) och ska läsa av en kanal, måste man läsa in alla kanaler och sen maska fram önskad kanal eller kan man direkt komma åt tex. kanal 1??

Jag försöker här men lyckas inte så bra...

Postat: 24 juni 2004, 15:05:08
av cyr
Kollade databladet lite snabbt, ser ut som man antingen kan ställa in önskad kanal (bit 1:0 i control-byten) eller sätta "auto-increment" biten (bit 2) så att den hoppar runt mellan kanalerna automatiskt.

Du ställer in kanalen, sen läser du. Varje läsning skickar ut resultatet från förra AD-omvandlingen och startar en ny.

Med reservation för att jag missade nåt...

Postat: 24 juni 2004, 15:14:39
av fatpo83
OK. När jag ville läsa från endast kanal 1 satte jag autoincrement till 0, men då gick det inte....

Sen satta jag det till 1 och läste alla 4 kanalerna, då gick det bra...tycker bara att det är onödigt att läsa 2 extra kanaler...men io f s ska jag använda 2 kanaler så att läsa 2 till borde väl inte spela så stor roll...

Postat: 24 juni 2004, 16:57:02
av cyr
Det ska gå att göra som du gjorde först, fast man får inte ut värdet förrän nästa läsning.

Så det borde funka med t.ex.

Byt till kanal 1
läs (skräpdata)
läs (mätvärde)

Eller en loop för att läsa två kanaler:

Byt till kanal 1
läs (kanal2)
Byt till kanal 2
läs (kanal1)


Å andra sidan går det väl lika fort att läsa ut alla kanalerna som att skriva/läsa sådär.

Postat: 24 juni 2004, 21:01:29
av fatpo83
Jo jag tänkte också det.