megaTinyCore und ext Interrupt Fehler mit DxCore

Hallo,

Benutze gerade zum ersten Mal den ATtiny1606 mit megaTinyCore und versuche gerade einen PIN Interrupt zu erzeugen. So habe ich den PIN konfiguriert:

PORTB.PIN0CTRL = (PORTB.PIN0CTRL & ~PORT_ISC_gm) | PORT_ISC_LEVEL_gc | PORT_PULLUPEN_bm ;

Die dazu gehörige ISR: ISR(PORTB_PORT_vect)
Sobald ich PORTB_PORT_vect verwende, bekomme ich folgenden Fehler:

/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-gcc -Wall -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -Wl,--section-start=.text=0x0 -mrelax -mmcu=attiny1606 -o /tmp/arduino_build_914852/ArduinoIgnition.ino.elf /tmp/arduino_build_914852/sketch/ArduinoIgnition.ino.cpp.o /tmp/arduino_build_914852/libraries/SoftwareSerial/SoftwareSerial.cpp.o /tmp/arduino_build_914852/../arduino_cache_329881/core/core_24badb4bb45499506442b3073c6f1218.a -L/tmp/arduino_build_914852 -lm
WInterrupts.c.o (symbol from plugin): In function `intFunc':
(.text+0x0): multiple definition of `__vector_4'
/tmp/arduino_build_914852/sketch/ArduinoIgnition.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here
/home/matthias/.arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld: Disabling relaxation: it will not work with multiple definitions
collect2: error: ld returned 1 exit status
Bibliothek SoftwareSerial in Version 1.0.1 im Ordner: .arduino15/packages/megaTinyCore/hardware/megaavr/2.6.1/libraries/SoftwareSerial  wird verwendet
exit status 1
Fehler beim Kompilieren für das Board ATtiny3226/3216/1626/1616/1606/826/816/806/426/416/406.

Nehme ich zum testen mal ISR(TCB0_INT_vect) (was natürlich nicht funktioniert), kompiliert er sauber durch.
Ich verstehe die Fehlermeldung nicht. DxCore sollte eignetlich gar nicht installiert sein und doch habe ich diesen Ordner im Ordner "packages". Benenne ich diesen um, wird die Kompilierung sofort abgebrochen.

Ich hoffe, ihr habt eine Lösung für das Problem. Ich komme nämlich tatsächlich nicht weiter

VG
Matze

Offensichtlich nutzt softwareSerial auch den PORTB_PORT_vect alias __vector_4
Und eine Doppelbelegung ist "so" nicht möglich.

Danke!
Das war's....

aber was heißt offensichtlich? Für mich war das mit SoftwareSerial nicht offensichtlich.
Klär mich doch bitte mal auf!

Für mich schon, da ich mir irgendwann man den Code von SoftSerial angesehen habe. Zudem bist du wahrlich nicht der/die/das erste mit so einem Problem.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.