www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C, Mega16


Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe schon bei verschiedenen AVR's den I2C zum laufen bekommen,
benutze AVRCodeVision, also eigentlich alles kein Problem. Nun habe ich
eine Platine geätzt und möchte für SDA PORTA.2 und für SCL PORTA.3
benutzen.

Ich habe also folgendes geschrieben/generiert:

// I2C Bus functions
#asm
   .equ __i2c_port=0x1b
   .equ __sda_bit=2
   .equ __scl_bit=3
#endasm
#include <i2c.h>

Danach kommt natürlich noch i2c_init() usw. Wenn ich mit dem Skope an
diesen beiden Pins messe, sehe ich auch die Daten flitzen, jedoch
funktioniert meine angeschlossene PCF8583 Uhr nicht. Also habe ich an
die beiden Leitungen ein Testboard angeklemmt, auf dem ein I/O-Expander
(PCF8574) sitzt. Dieser funktioniert 100%, kenne ich aus anderen
Projekten. Aber auch ihn kann ich nicht ansteuern, nicht mal, wenn ich
die ganze Software rausschmeiße und nur den I2C zum laufen bekommen
will. Kann man etwa nicht alle beliebigen Pins des Mega16 für I2C
benutzen??

Wäre sehr dankbar für eine Antwort!

Gruß

Dirk

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung, wie Codevision das macht. Wenn allerdings
der interne I2C genutzt werden soll (was ich stark vermute),
dann geht das nur mit PD0 = SCL und PD1 = SDA.

Gruß, Marcus

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, ist natürlich PC0 = SCL und PC1 = SDA.
Ich hatte beim Mega64 geschaut ...

Gruß, Marcus

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!

Aber ich habe es irgendwie anders in Erinnerung. Hat das jemand mal mit
Codevision gemacht?

Dirk

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach kommt, so doof ist die frage doch nun auch nicht... :-(

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"ach kommt, so doof ist die frage doch nun auch nicht... :-("


Wie kommst Du darauf, daß alle hier Codevision nehmen ?

Ich benutze WINAVR.
Und den I2C-Kram schreibe ich mir selber, dann weiß ich wie er
funktioniert und kann auch Fehler suchen.


Wenns aber schonmal lief, dann tippe ich auf zu hohe Quarzfrequenz.
Die alten PCF-Dinger nehmen das mit den <=100kHz sehr genau.


Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mache das mit CodeVision, das geht ohne Problem. Ich steuere damit
8574 als auch einen Mega32 mit Slave I2C Funktion an.

Peter

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,
nimmst du den TWI, der fest mit zwei Pins verbunden ist, oder einfach
I2C, und wählst die Pins selbst?

Danke

Dirk

Autor: Nolan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dirk,

ich habe mit einem Mega8 schon auf verschiedenen Ports den I2C Bus
betrieben. Funktionierte mit den CodeVision Compiler immer. Probleme
kamen, wenn ich keine PullUps an den Signalleitungen hatte.

@Peter:
Ich versuche gerade mit einem Mega8 als Master mehrere Tiny2313 als
Slave über den I2C Bus anzusteuern. Du scheinst soetwas schon gemacht
zu haben. Bei mir klappt es nicht, bzw. ich weiss nicht wie ich den
Tiny mit CodeVision Funktionen als Slave betreiben kann. Du schreibst
etwas von SLAVE I2C Funktionen, sind das eigenen Funktionen von dir
oder fertige wie etwa i2c_read()? Ich finde in den headdern nicht
passendes dazu.

Danke
Nolan.

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.