Software I2C auf ARM7 LPC2106

OP #1349971
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:
1
REG (GPIO_IOCLR) = 0x00800000; // setzt SDA auf LOW
2
REG (GPIO_IODIR) = 0x00BEBDC9; // setzt SDA output und SCL input
3
_cc3_delay_sccb ();
4
REG (GPIO_IOCLR) = 0x00400000; // setzt SCL auf LOW
5
REG (GPIO_IODIR) = 0x00FEBDC9; // SDA und SCL output
6
_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
OP
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.