Forum: Mikrocontroller und Digitale Elektronik Arduino I2C Bus


von Hans (Gast)


Lesenswert?

Hallo,
ich habe ein Problem mit dem I2C Bus.
An sich funktioniert es nur leider nicht Stabil.
Da das das erste mal ist, das ich mit diesem Bus zu tun habe, fällt es 
mir recht schwer da einen Fehler zu finden.

Es handelt sich um diese Karte, mit der der Arduino kommunizieren soll:

http://www.horter.de/blog/i2c-analog-output-4-kanaele-10-bit/

Und ich habe mich recht genau an den Beispielcode gehalten


byte HBy;
byte LBy;
int WERT;
int KANAL;
int i = 0;
int i2 = 0;

void setup() {
.
.
.
  Serial.begin(9600);         // Serielle Schnittstelle konfigurieren
  Wire.begin();               // I2C-Pins definieren

}


void loop() {
.
.
.
.
.

    KANAL =0;
    WERT = korrektur_wert;

    HBy = WERT / 256;        //HIGH-Byte berechnen
    LBy = WERT - HBy * 256;  //LOW-Byte berechnen

    Wire.beginTransmission(I2C_OUT_ADDR); // Start Übertragung zur 
ANALOG-OUT Karte
    Wire.write(KANAL);                    // Kanal schreiben
    Wire.write(LBy);                      // LOW-Byte schreiben
    Wire.write(HBy);                      // HIGH-Byte schreiben
    Wire.endTransmission();               // Ende
}



Was kann man da besser/sinnvoller schreiben?
Der korrektur_wert pendelt zwischen 0 und 1023.

Grüße

von Dieter S. (Gast)


Lesenswert?

Hast du Pullup-Widerstände am I2C Bus?

von Hans (Gast)


Lesenswert?

Jetzt ja.... Danke

ich hab mich da zu sehr auf die Software fokussiert.
4k7 Ohm und alles läuft.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.