mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Software I2C auf ARM7 LPC2106


Autor: Daniel Kurz (nimrod)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

mitlerweile habe ich den I2C verstanden. Nur mein Quellcode dazu passt 
garnicht. Ich benutze den LPC2106 auf der CMUCam3. Aus was für Gründen 
auch immer wird nicht der hardware I2C sondern die Pins 32 und 33 
benuzt.

Das sind normale GPIOs mit internal Pull-up.

im mitgelieferten code ist die schreibfunktion des I2C implementiert. 
Jetzt mag ich aber auch lesen und muss dazu erstmal den vorhandenen code 
verstehen.


Ich fang mal mit der Startcondition an
Theorie: CLK ist High und eine fallende Flanke wird auf SDA generiert

Praktisch:
REG (GPIO_IOCLR) = 0x00800000; // setzt SDA auf LOW
REG (GPIO_IODIR) = 0x00BEBDC9; // setzt SDA output und SCL input
_cc3_delay_sccb ();
REG (GPIO_IOCLR) = 0x00400000; // setzt SCL auf LOW
REG (GPIO_IODIR) = 0x00FEBDC9; // SDA und SCL output
_cc3_delay_sccb ();

Das funktioniert aber ich verstehe es nicht. Ist da irgendetwas 
besonders an den Pins oder bin ich blind?

Wenn noch mehr code benötigt wird poste ich den noch nach.

Vielen Dank im Vorraus

Gruß Daniel

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was war nochmal die Frage? Die einzige die ich grad finde ist die ob du 
blind bist.

Autor: Daniel Kurz (nimrod)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich verstehe nicht wie die codezeilen die ich oben eingefügt haben die 
startcondition realisieren

für mich sieht es so aus als wird SDA LOW und dann kommt eine fallende 
flanke auf SCL und das macht ja nun mal gar keinen Sinn

frage ist also warum diese zeilen trotzdem funktionieren und was ich 
daran nicht verstehe oder falsch auslege

Autor: Daniel Kurz (nimrod)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok ich habe die frage nochmal anders gestellt und alles ist geklärt 
siehe hier:


Beitrag "Allgemeine Frage zu GPIOs beim ARM7 LPC2106"

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.