Conflitto tra librerie "FreqCount" "MD_TCS230" e "NewPing"

ho scritto un codice abbastanza complesso con molti sensori e librerie, inizialmente tutto funzionava ma quando ho aggiunto " #include <FreqCount.h>
#include <MD_TCS230.h> " queste librerie per far funzionare il sensore di colore TCS230 continua a darmi questi errori : "/private/var/folders/06/b98_4b712y5_vsq2y1try5nc0000gn/T/arduino/sketches/12A9621B9D8CBC18A5383088F7E46AE9/libraries/FreqCount/FreqCount.cpp.o (symbol from plugin): In function FreqCountClass::begin(unsigned int)': (.text+0x0): multiple definition of __vector_7'
/private/var/folders/06/b98_4b712y5_vsq2y1try5nc0000gn/T/arduino/sketches/12A9621B9D8CBC18A5383088F7E46AE9/libraries/NewPing/NewPing.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1" dal poco che ho capito le librerie NewPing e FreqCount vanno in conflitto e non lavorano bene, se rimuovo dal codice la parte del sensore TCS230, con le 2 librerie, il codice ritorna a funzionare, spero sappiate aiutarmi.

Buongiorno e benvenuto nella sezione Italiana del forum,

:warning: prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato, dopo di che ...

... cortesemente, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15) e poi, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

Buongiorno, come faccio a presentarmi? scrivo la mia esperienza on Arduino prima di elencare il mio problema o lo devo fare in uno spazio apposito?

Emmm ... ma lo hai letto con attenzione il mio post ? ...

fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

... più chiaro di così :roll_eyes:

Guglielmo

P.S.: ... e, se vai in quella discussione, trovi migliaia di presentazioni di altre persone.

Di che scheda Arduino parliamo? UNO, MEGA, MKR, ecc.

Poi non capisco bene la frase:

... intendi che se togli tutti e i tre gli include (quello del TCS, quello di FreqCount e quello della NewPing) il codice torna (ovviamnete) a funzionare? O ti basta toglierne una? E, se si QUALE?

Guglielmo

Arduino mega, includendo la libreria TCS include automaticamente anche FreqCount, ho provato a verificare il programma rimuovendo NewPing e tutto quello che avevo scritto con quella libreria e il codice funziona, succede la stessa cosa se rimuovo FreqCount e TCS e includo NewPing

Ok, quell'indicazione (multiple definition of __vector_7) indica che un determinato vettore di interrupt è già stato usato e quindi non si può riutilizzare ... purtroppo sicuramente sia la FreqCount che la NewPing usano un timer che è in comune e quindi va in conflitto ...

Non c'è molto da fare ... o si sa lavorare con i timers e si modifica una delle librerie per usare un'altro timer che magari è libero o si usa un'altra libreria ... ad esempio, se non hai particolari esigenze, la vecchia Ping (e non la NewPing) non dovrebbe andare in conflitto ... puoi provare ... :roll_eyes:

Guglielmo

perfetto, grazie!

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