-         

Ergebnis 1 bis 4 von 4

Thema: I2C Codeproblem (oder Denkfehler)

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304

    I2C Codeproblem (oder Denkfehler)

    Anzeige

    Hallo Liebe Leute!

    Vorab möchte ich sagen, dass ich eigentlich PIC Programmierer bin, aber nun für ein Studiumsprojekt einen Atmel programmieren muss.

    Ich muss einen I2C Slave basteln, der von meinem PIC Master Befehle bekommt.
    Ich habe das Beispielprojekt aus dem Wiki übernommen: http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc
    Testhalber lasse ich eine Led Flashen, wenn die TWI ISR ausgeführt wird. Das funktioniert auch, wenn ich vom Master die Adresse vom Slave sende.
    Nun zu meinem Problem:
    Der Slave geht immer nur in den Transmit Modus, obwohl er nicht die Befehle dazu bekommt.
    Den Code habe ich nicht abgeändert, bis auf ein Led Flashen bei Sende und Empfangsmodus eingebaut und davon leuchtet immer nur die vom Sendemodus.
    Mein PIC sendet eigentlich auch nur die Daten wie bei einem EEPROM (start > Slave_addr > data1 > data2 > data3 > Stop)

    Muss man noch irgendetwas dafür beachten? Ich danke für jeden Denkanstoß, da ich schon sehr zermürbt bin wegen dem Problem.

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Bist du sicher, dass der Master auch die I2C-Adresse + WriteBit sendet ?

    also, addresse + 1
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Vielen Dank!!! Da hab ich garnicht mehr daran gedacht
    Oft sinds nur so Kleinigkeiten die zur Verzweiflung führen:

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Servus!

    Ich muss wieder zu diesem Problem nerven

    Das mit dem Senden der Daten klappt mittlerweile wunderbar:
    http://berndp.de/u/test5.png
    Ich lasse die Leds nach dem Hexwert flashen und das macht keine Problme.

    Umgekehrt will es jedoch nicht so wie ich:
    http://berndp.de/u/test4.png
    Ich setze wie im Codebeispiel den Buffer auf 0x00 und schalte dann auf Lesemodus. Bei diesem bekomme ich allerdings keine Rückmeldung.
    Am Analyzerbild kann man schön sehen, dass Adresse + Lesebit richtig gesendet werden.

    Hat vielleicht jemand eine Idee woran es haken könnte?

Berechtigungen

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