mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welchen Takt einstellen (I2C)


Autor: mantis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich will mehrere LM75 Sensoren über I2C ansteuern. Ich benutze einen 
PIC16F88X. Muss ich für den I2C zwangsweise einen externen Oszillator 
anschließen oder könnte ich auch den intern 8Mhz Oszillator verwenden ??

Gruß Manits

Autor: mantis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht mir hier nur um den PIC takt. Das der PIC den I2C Takt selber 
erzeugt ist mir schon klar ;)

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Takt bei I2C istfrei wählbar, da du bzw. der Pic ja der Master ist.
Also wie bei SPI.
Die meisten Slaves können bis 100kHz bzw. 400kHz.
Du kannst auch z.B. 43,68kHz oder 21,78kHz verwenden, du gibst den Takt 
ja vor.

Vergiss nur die Pull-Ups nicht!

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mantis schrieb:

>  könnte ich auch den intern 8Mhz Oszillator verwenden ??

I2C seitig spricht IMHO nichts dagegen.

Die Slaves arbeiten ja mit dem I2C Takt, den der PIC allein vor gibt. 
Und der PIC muss keinen genauen Absolutwert einhalten.

Anders als z.B. bei async. UART bei dem die angeschlossenen Teilnehmer 
jeweils ihren eigenen Takt erzeugen und die Gesamtabweichungen <2% sein 
sollten.

Autor: mantis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay! danke für die schnell Antwort!

gruß Mantis

Autor: mantis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So neues Problem... wie kann es sein das ich kein SCK taktsignal am oszi 
messe ?? Pullup widersände sind da (4,7k) iSC initialiseireung wie Sprut 
vorgibt..

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmierfehler in Zeile 42.

Autor: mantis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
:D okay

Hier ist mal mein I2C Test Programm. Also er gibt auf dem Display zum 
schluß was aus aber halt "nur" unlogische sachen.

Unabhängig davon:

dürfte er nix ausgeben weil ich den Sensor nicht angeschlossen habe und 
er ja in der "sende_schleife" hängen bleiben müsste da er kein ACK vom 
Sensor bekommt.

Wenn ich mit dem Oszi den SCK messe sehe ich keinen Takt zwischen 100 
und 400kHz sondern lange (400ms) High signale.

Vielleicht sieht ja einer meinen Fehler

Gruß mantis

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Postings habe ich gelöscht, sorry, weil ich hatte PIC16F88x (PIC16F887) 
mit PIC16F88 verwechselt.

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.