- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 11

Thema: I2C Verbindung bleibt hängen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    http://flyduino.net/MPU6050-Break-Out-onboard-33V-reg

    Das Board hat seinen 4k7 PullUps ja schon drauf... ich vermute du hast sie nicht an 5V(Vcc) gehängt? Es bönötigt 5V Spannung, die dann runter auf 3,3V geregelt werden.

    Deine While Schleife ist eine Endlosschleife, die alle 2000ms durchgeführt wird - ohne das sie was anderes tut sobald das Programm dort angekommen ist. Vielleicht den I²C start (funktionsaufruf) da rein legen?

    Du meinst sicher Adresse 0x6B > "#define DevAddr 0x6B" nicht 0x68.

    Welches hast Du denn genau-finde mindestens zwei?
    https://www.sparkfun.com/products/11028
    Das darf nur 3,4V bekommen!!!
    Geändert von HeXPloreR (28.12.2012 um 11:53 Uhr)

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2011
    Beiträge
    18
    Hab mir das Datenblatt mal durchgesehen da sieht es aus als wenn du auf ein ACK warten musst. Dann sollte dein code etwa so aussehen:

    Code:
     
       if(!(i2c_start(ADW + I2C_WRITE))) //Slave bereit zum schreiben?
        {
           i2c_write(0x01);
           i2c_rep_start(ADR);
           x = i2c_readAck();
           return 1;
        }
        else
            {
                i2c_readNak();
                i2c_stop();
            
                return 0;
            
            }
    in einer variable hier ist es x steht dann ack oder nck drinn ob das senden OK wahr oder nicht. der code sollte nur als hilfe dienen denn musst halt anpassen

    pirndi

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.01.2011
    Beiträge
    192
    ich habe den hier:
    http://www.ebay.de/itm/MPU-6050-3-Ax...item2a258a9a58

    es wird mit 5V versorgt
    die pullups habe ich gegen 3,3V gesetzt (ohne externe pullups war data immer low...)

    Wegen der Adresse hatte ich das gefunden:
    // Default I2C address for the MPU-6050 is 0x68.
    // But only if the AD0 pin is low.
    // Some sensor boards have AD0 high, and the
    // I2C address thus becomes 0x69.

    Die while schleife wird wie oben beschrieben leider nicht mal erreicht.

    Ich kann ja mal mit den READ-Bit etwas spielen und mal 0x6B als Adresse ausprobieren.

    Danke schon mal

    hat noch einer eine Idee

Ähnliche Themen

  1. [gelöst] I2C sendet keine Bytes / Programm bleibt stehen.
    Von Jaecko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 23.05.2008, 15:59
  2. I2C Verbindung mit dem PIC
    Von Adonai im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 14.05.2007, 14:20
  3. M-Unit bleibt hängen
    Von Funkenfinger im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 9
    Letzter Beitrag: 23.04.2006, 20:42
  4. AVR bleibt in while-Schleife hängen
    Von waste im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 01.06.2005, 21:18
  5. Mega8 bleibt mit PC hängen ?!
    Von Roberto im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 19.04.2005, 05:53

Berechtigungen

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

Solar Speicher und Akkus Tests