-         

Ergebnis 1 bis 2 von 2

Thema: i2c warum doppelte abfrage nötig

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2014
    Beiträge
    20

    i2c warum doppelte abfrage nötig

    Anzeige

    Hi comunity

    Ich habe volgenden sketch aus dem internet gedownloadet und für meine zwecke modifiziert .

    #include <Wire.h>

    int x;
    int c;
    void setup()
    {
    pinMode (4,OUTPUT);
    Wire.begin(4); // join I2C bus with address #4
    Wire.onReceive(receiveEvent); // register event
    Serial.begin(9600); // start serial for output
    }

    void loop()
    {
    delay(100);
    }


    void receiveEvent(int howMany)
    {
    while(1 < Wire.available())
    {
    c = Wire.read();
    Serial.print(c);
    }
    x = Wire.read();
    Serial.println(x);

    if (x <12
    {
    digitalWrite (4,LOW);
    }
    else
    {
    digitalWrite (4,HIGH);
    }
    }

    nun ist mir aufgefallen das zweimal der befehl wire.read auftauch und ich hab versucht einen block zu löschen danach funktionierte der sketch aber nicht mehr wieso??

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    SA
    Alter
    64
    Beiträge
    211
    Hallo,

    in jedem Bussystem muss erst mal der Teilnehmer angesprochen werden.
    Ist Adresse OK kommt Rückmeldung ich bin bereit und sperrt Bus für andere Teilnehmer.
    Nun Kommando senden was das „Ding“ machen soll. Somit ist dies keine doppelte Abfrage sondern einfach nötig. Nach Kommando natürlich den Bus wieder frei gegeben.

    Mit freundlichen Grüßen
    Fred

    - - - Aktualisiert - - -

    Hallo,

    Noch mal angeschaut, Problem HIER. Wenn JA was hängt am Bus.

    {
    digitalWrite (4,LOW);
    }
    else
    {
    digitalWrite (4,HIGH);
    }


    Gruß
    Fred

Ähnliche Themen

  1. doppelte Auführung der ISR
    Von Furtion im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 03.01.2009, 13:37
  2. Antworten: 3
    Letzter Beitrag: 26.05.2007, 19:25
  3. Anfängerfehler? Doppelte PWM
    Von radbruch im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 07.01.2007, 12:15
  4. Warum benötigt man (AIN0/INT2) PB2 für den I2C Bus?
    Von Zeroeightfifteen im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 27.12.2005, 16:43
  5. Gehen doppelte For-Schlaufen nicht?
    Von Murus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 03.12.2005, 11:29

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •