RX210 IIC Beispiel

Gast #2838568
Lesenswert?
• ▲
▼
Woher soll den jemand wissen, was Du willst?
Im einfachsten Fall kann man per Software zwei IO-Pins wackeln lassen.

Im Kapitel 29.3 im Datenblatt ist doch genau beschrieben, was zu tun 
ist. Und da das IIC-Modul einige Feinheiten bietet, sollte man vorab für 
sich klären, was man davon benutzen möchte.
OP #2838638
Lesenswert?
• ▲
▼
Ich habe es soweit schon geschrieben, allerdings habe ich das Problem 
das nach dem ST - Bit das TDRE - Flag immer 0 ist obwohl ich noch nie 
was nach ICDRT geschrieben habe.

Ich wollte einfach ein komplettes Beispiel von jemanden der die 
Schnittstelle bereits in Betrieb genommen hat. Weil meistens Fehler 
entstehen bei Initialisierung, wie das man das gesamte Modul (MSTPCRB 
-Reg) gar nicht erst einschaltet.
Gast #2838762
Lesenswert?
• ▲
▼
Es gibt noch einen anderen Quellcode an_r01an0630ej_rx_iic.zip.
Dort gibt es eine Datei riic.c, wovon zunächst RiicIni() aufgerufen 
wird. Hier ist der Ablauf transparenter als bei der RPDL-Geschichte.

Das alles sollte auch für den RX210 passen.
Viel Erfolg!
Gast #2840742
Lesenswert?
• ▲
▼
Du mußt die IIC-Leitungen entsprechend initialisieren.
Zunächst werden Port1.2 und Port1.3 für die alternative Funktion 
freigeschaltet (PMR-Register).
Dann muß die genaue Funktion der Pins angewählt werden: hier 0xf
Das klappt aber nur, wenn zuvor der Schreibschutz (MPC.PWPR...) 
abgeschaltet wird.
Im Datenblatt steht's genauer.

...... // init von IIC-Registern und abschließend

/* Port setting */
    PORT1.PMR.BIT.B3 = 1;    // SDA0 setting
    PORT1.PMR.BIT.B2 = 1;    // SCL0 setting
    MPC.PWPR.BIT.B0WI = 0;
    MPC.PWPR.BIT.PFSWE = 1;
    MPC.P12PFS.BYTE = 0xf;
    MPC.P13PFS.BYTE = 0xf;

/* Enable RIIC */
    RIIC0.ICCR1.BIT.ICE = 1;  //RIIC enable

Wird jetzt mit
    RIIC0.ICCR2.BIT.ST = 1;    // Generate start condition
IIC-START aktiviert, werden SDA+SCL auf 0 und TDRE+START sowie BBSY, MST 
und TRS auf 1 gesetzt. ST ist dann gleich wieder gelöscht.

Jetzt sollte es auch bei Dir laufen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.