- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 6 von 6

Thema: Raspberry Pi B+ [C] verschluckt erstes Bit I2C Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    ich habe (im Effekt )ähnliche Probleme bei meinen AVR-Arduinos beobachtet. Ein Arbeiten per I2C war hier absolut nicht möglich, da der Raspi sehr empfindlich auf clock-stretching reagiert, wodurch die I2C-Verbindung abbricht.

    Ich weiß nun ntl nicht, wie sich deine Atmega i2c-lib von der Arduino-AVR-i2c-lib (Wire) unterscheided oder ihr ähnelt, immerhin klappt es mit den AVR-Arduinos aus diesem Grund nicht.

    Dieselbern i2c-lib Funktionen laufen aber einwandfrei auf einem ARM-Arduino (Arduino-DUE), hier gibt es keine data transmission oder i2c-bus Probleme:

    http://www.mindstormsforum.de/viewto...p=67815#p67908 (siehe Punkt 10 d) !!)


    HTH!

  2. #2

    Blinzeln

    Hi die verwendete c. Lib ist von Manfred Langemann falls es jemanden interessiert.

    Da immer nur das erste byte Schrott ist und die darauffolgenden korrekt, sende ich nun immer 3 byte und lese 3bytes. Das erste byte wird dann bei mir im Code nicht verarbeitet.

    Nicht schön aber funktioniert wenigstens.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    54
    Beiträge
    765
    Hallo,

    so wie ich das sehe, wird CLK gleichzeitig mit DAT gesetzt. Sieht für mich bald nach Software TWI am Atmel aus. Das sollte sich anpassen lassen. Besser wäre, wenn CLK bissel später kommt, wie bei dem io-Beispiel. Bei tatsächlich Hardware TWI könnte der Atmel zu viel Zeit benötigen. Da das Programm optimieren oder den Raspi eine Pause vor dem Einlesen machen lassen.

    Auch möglich, dass da evtl. ein kleinerer Pullup an DAT als an CLK hilft, damit die Flanke schneller steigt. Denk dabei aber daran, die Ports des Raspi durch einen zu hohen Strom nicht zu stark zu belasten. Z.B. 10k0 an CLK und 4k7 an DAT. Viel Hoffnung würde ich mir da aber nicht machen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  4. #4
    HaWe
    Gast
    Raspi eine Pause vor dem Einlesen machen lassen
    ob das klappt?
    wie bereits erwähnt: der Raspi steigt bei clock-stretching aus, sonst gäbe es wohl auch kein Problem bei den AVR-Arduinos mit der AVR-Wire-Lib.
    Der Ausweg wäre höchstens Bitbang-I2C, aber dann auf dem Raspi...

    Allerdings soll der Jessie-kernel dafür demnächst verbessert werden!

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    54
    Beiträge
    765
    In diesem speziellen Fall hier lässt sich leider nur spekulieren. Von Vorteil wären beide Codes. Wenn der Atmel als Testcode nur darauf wartet, seinen Wert zu senden, dann braucht er keine Zeit dehnen.

    Ansonsten hatten wir das Thema ja neulich mit ARDUINO schon. Da habe ich mangels Notwendigkeit nicht weiter gemacht.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. Alternativen zum Raspberry PI (wegen i2c Bus Problem)
    Von Ritchie im Forum Raspberry Pi
    Antworten: 14
    Letzter Beitrag: 03.09.2014, 11:28
  2. [ERLEDIGT] Problem mit GPIO beim Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 19
    Letzter Beitrag: 25.08.2012, 17:49
  3. USART verschluckt zeichen...
    Von ustech im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 12.10.2008, 15:43
  4. AVISARO WLAN verschluckt at kommandos
    Von aphex-world im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 26.09.2008, 17:13
  5. Controller verschluckt 4. Zeichen
    Von AVRbrauns im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 17
    Letzter Beitrag: 12.12.2007, 10:24

Stichworte

Berechtigungen

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

Labornetzteil AliExpress