Felix H.
27.05.2011, 19:17
Hi,
ich habe eine Platine mit PCF8591 und PCF8574. Diese hängt alleine an einem I2C bus zum Master. Etwa 6 Meter Cat5e. Die Übertragung geht gut, den PCF8574 kann ich wunderbar und ohne Fehler schalten.
Allerdings erhalte ich bei den AD Werten vom 8591 nur käse!
An den Eingängen hängen LEM Stromwandler. Diese geben einen Strom aus, der an einem Widerstand Spannung in richtung Masse abfallen lässt. Diese mess ich. Oder ich versuche es zumindest *G*
Disable Interrupts
'Wert1 auslesen
I2cstart
I2cwbyte &B10010000 'schreibbefehl auf controlbyte
I2cwbyte &B00000000 'ersten ADC auswählen
I2cstop
I2cstart
I2cwbyte &B10010001 'lesebefehl
I2crbyte Laststrom , Ack 'Daten auslesen
I2crbyte Laststrom , Nack 'Daten auslesen
I2cstop
'Wert2 auslesen
I2cstart
I2cwbyte &B10010000 'schreibbefehl
I2cwbyte &B00000001 'zweiten ADC auswählen
I2cstop
I2cstart
I2cwbyte &B10010001 'lesebefehl
I2crbyte Batteriespannung , Ack 'Daten auslesen
I2crbyte Batteriespannung , Nack 'Daten auslesen
I2cstop
'Wert3 auslesen
I2cstart
I2cwbyte &B10010000 'schreibbefehl
I2cwbyte &B00000010 'dritten ADC auswählen
I2cstop
I2cstart
I2cwbyte &B10010011 'lesebefehl
I2crbyte Ladestrom , Ack 'Daten auslesen
I2crbyte Ladestrom , Nack 'Daten auslesen
I2cstop
Enable Interrupts
kann da vllt. jemand einen Fehler entdecken?
ich denke die Hardware kann ich ausschließen, da der 8574 ja reibungslos funktioniert. Achja mein I2Cdelay habe ich auf 30 stehen.
Gruß
ich habe eine Platine mit PCF8591 und PCF8574. Diese hängt alleine an einem I2C bus zum Master. Etwa 6 Meter Cat5e. Die Übertragung geht gut, den PCF8574 kann ich wunderbar und ohne Fehler schalten.
Allerdings erhalte ich bei den AD Werten vom 8591 nur käse!
An den Eingängen hängen LEM Stromwandler. Diese geben einen Strom aus, der an einem Widerstand Spannung in richtung Masse abfallen lässt. Diese mess ich. Oder ich versuche es zumindest *G*
Disable Interrupts
'Wert1 auslesen
I2cstart
I2cwbyte &B10010000 'schreibbefehl auf controlbyte
I2cwbyte &B00000000 'ersten ADC auswählen
I2cstop
I2cstart
I2cwbyte &B10010001 'lesebefehl
I2crbyte Laststrom , Ack 'Daten auslesen
I2crbyte Laststrom , Nack 'Daten auslesen
I2cstop
'Wert2 auslesen
I2cstart
I2cwbyte &B10010000 'schreibbefehl
I2cwbyte &B00000001 'zweiten ADC auswählen
I2cstop
I2cstart
I2cwbyte &B10010001 'lesebefehl
I2crbyte Batteriespannung , Ack 'Daten auslesen
I2crbyte Batteriespannung , Nack 'Daten auslesen
I2cstop
'Wert3 auslesen
I2cstart
I2cwbyte &B10010000 'schreibbefehl
I2cwbyte &B00000010 'dritten ADC auswählen
I2cstop
I2cstart
I2cwbyte &B10010011 'lesebefehl
I2crbyte Ladestrom , Ack 'Daten auslesen
I2crbyte Ladestrom , Nack 'Daten auslesen
I2cstop
Enable Interrupts
kann da vllt. jemand einen Fehler entdecken?
ich denke die Hardware kann ich ausschließen, da der 8574 ja reibungslos funktioniert. Achja mein I2Cdelay habe ich auf 30 stehen.
Gruß