AT89C2051 I2C Timing

Gast #613436
Lesenswert?
• ▲
▼
Hallo

Ich Wollte mal ein paar anfängerfragen stellen.

Würde das gerne in Assembler 8051 programmieren.

Muss ich dem I2C sagen das ich ihn im normalen Geschwindigkeitsmodus bis 
100kBit/s laufen lassen will? Oder macht der das schon gleich, und kann 
dann gleich meine adresse senden und dann die Daten zum Slave.

Im Datenblatt steht ja bis zu 100kBit/s, das heist also das ich irgend 
eine langsammere Geschwindigkeit nehmen kann.

Wenn ich zwei mal eine 1 übertragen will, muss ich dann die SDA Leitung 
von 0 auf 1 und dann wieder 0 und 1 setzten oder kann ich sie 1 lassen 
und dann einfach SCL 01010101 usw. setzen??

Wie schlimm ist es wenn die LOW und high Signale  von SCL oder SDA 
verschieden lang sind aber immernoch es so im Rahmen bleibt das SDA 1 
dann SCL 010, also das erst das SDA verändert wird und dann SCL 010 und 
dann wieder SDA verändert wird und dann wieder SCL 010.

Muss dieses Acknowledge-Bit sofort abgefragt werden oder kann es auch 
paar ms dauern bis ich SCL auf 1 setze und dann mit meinem 
Mikrocontroller schaue ob der Slave die SDA Leitung runter zieht? Wie 
lange zieht er es runter ??

Wenn der Slave meinem Master was sendet, wie kann ich die 001101 an 
einem Pin dann eigentlich in ein 8-Bit register schreiben ?? muss ich 
nach anzahl der empfangenen Bits das Register mit AND oder OR Logisch 
ändern ??

Vielen Dank , English ist nicht gerade meine Stärke
Persönliche Seite #613450
Lesenswert?
• ▲
▼
Seit wann hat der 89C2051 ein integriertes I2C-Interface?
Das musst du schon per Software selbstmachen. Da kannst du das Timing 
dann selbst bestimmen.
Hier kannst du dir einen Code generieren.
http://www.erikbuchmann.de  --> Codegenerator

Hier eine Atmel-AppNote zum I2C Bus:
http://www.atmel.com/dyn/resources/prod_documents/DOC0593.PDF

Etwas technisches Englisch solltest du dir aneignen, sonst kommst du 
nicht weit...

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.