www.mikrocontroller.net

Forum: Compiler & IDEs I2C Problem


Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein grundsätzliches Problem mit der Biblithek von Peter
Fleury. Ich möchte die Real Time Clock DS1302 über I2C ansteuern,
hierzu habe ich auch die Bibliothek von Peter heruntergeladen.

Zu meinem Problem:
Ich weiß, dass ich die Datei "i2cmaster.h" includieren muss ich mein
Projekt. Ich muss ja auch  die "i2cmaster.S" einbinden, allerdings
weiß ich nicht wie das mit AVR-GCC geht.

Kann mir jemand erklären wie das geht und was man da machen muss?

Danke Volker

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja es ist halt wie immer, kaum hat man mal wieder ne dumme Frage in nem
Forum gestellt schon ist man auch selber auf die Lösung gekommen.

Vielleich sollte man einfach für die Dummen (wie mich) in die Hilfe
schreiben, dass man die "i2cmaster.S" im Makefile mit einbinden muss.
Tja selber schuld.

Gruß Volker

Autor: Matze Niemand (hupe123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe eben das erste Mal mit I2C gespielt und ich habe ganz 
übersehen, daß ich die i2cmaster.S von Peter Fleury hätte einbinden 
müssen - es lief auch so! Komisch aber war.

Jetzt, wo ich sie eingebunden hab, bekomme ich Fehlermeldungen alle:
i2cmaster.o: In function `i2c_init':
i2cmaster.S:94: multiple definition of `i2c_init'
main.o:D:\Eigene Dateien\...\001_I2C\02\01master 644/twimaster.c:26: 
first defined here
i2cmaster.o: In function `i2c_start':
i2cmaster.S:113: multiple definition of `i2c_start'
main.o:D:\Eigene Dateien\...\001_I2C\02\01master 644/twimaster.c:37: 
first defined here

Diese Fehlermeldungen bekomme ich für alle i2C-Funktionen.

Hardware: ATmega644V
Software: WinAVR, neuste Version
Der Quellcode ist hier nebensächlich, da ich nichts geändert habe...

Danke, Gruß

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil du jetzt beide Dateien in deinem Projekt hast, twimaster.c und 
i2cmaster.S. Du brauchst aber nur die Eine oder die Andere. Und 
solltest du tatsächlich beide brauchen, weil du sowohl Hardware- als 
auch Software-I2C machen willst, dann musst du halt die Funktionen in 
einer umbenennen.

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.