Twi und Arduino Mega

Gast #4182618
Lesenswert?
• ▲
▼
Jens schrieb:
> twi.c:623: error: attempt to use poisoned "SIG_2WIRE_SERIAL"
>  SIGNAL(SIG_2WIRE_SERIAL)

Uralt-Code aus den Untiefen des Internets für völlig veraltete Versionen 
der avr-libc. Seit Jahren wird ISR() statt SIGNAL() benutzt. TWI_vect 
müsste der Ersatz für SIG_2WIRE_SERIAL sein.
Gast #4182636
Lesenswert?
• ▲
▼
Warum wird denn nun dieser Fehler erzeugt?

Wire\Wire.cpp.o: In function `TwoWire::available()':
C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries\Wire/Wire.cpp:210: multiple 
definition of `TwoWire::available()'
Wire.cpp.o:C:\Users\Admin\AppData\Local\Temp\build6555287835592467589.tm 
p/Wire.cpp:369:  first defined here
Wire\Wire.cpp.o: In function `TwoWire::available()':
Gast #4182640
Lesenswert?
• ▲
▼
Steht doch da: "multiple definition"

Du bindest die Wire-lib zweimal ein, einmal über dein Arduino-Projekt 
die Version die mit deiner Arduino-Installation kommt, und einmal deine 
eigene Version.

Zwei Dateien, die Funktionen mit identischen Namen definieren, vertragen 
sich nun mal nicht.

Eigentlich müsste bei einer aktuellen Arduino IDE aber auch eine 
aktuelle wire.cpp beiliegen...
Gast #4182655
Lesenswert?
• ▲
▼
Wie verhindere ich denn, dass der Compieler nur eine dieser Dateien und 
nicht zwei included?
Soll ich meine Datei aus dem Projektordnen entfernen?


Ja mich wundert das ja auch, dass das so eine alte Version ist. Hab die 
Arduion Software erst vor ein paar Tagen neu installiert um genau diesen 
Fehler auszuschließen.

Scheinbar fehlt aber in der Library die twi... oder?
Gast #4183262
Lesenswert?
• ▲
▼
Ich benutze zu Hause auch den Arduino Mega mit I2C bzw. TWI und habe 
dafür keine Library benutzt sondern die entsprechenden Routinen selbst 
geschrieben. War auch für einen Hobbybastler wie mich nicht ganz so 
schwer, es gibt hier auf dieser Seite ein Tutorial zu I2C. Das und die 
Datenblätter der zu kontaktierenden Slaves reichen, um das selbst zu 
programmieren. Außerdem weiß man danach, was konkret auf dem Bus abgeht. 
Ich habe leider im Moment keine Zeit das Tutorial zu suchen oder 
detaillierter zu antworten. Vielleicht wäre das auch eine Option.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren