2 Libaries mit dem selben Timer
moin,
nachdem ich mein pwm problem scheinbar gelöst habe kommt nun das nächste.
scheinbar nutzen die softpwm und die irremote libary den selben timer,da ich nicht tief genug in der materie stecke um mich die timer ran zu wagen frage ich einfach mal ob jemand damit erfahrung hat oder evtl. sogar n workaround ;-)
lg
timme
arduino: 1.8.0 (windows 7), board: "arduino nano, atmega328"
libraries\arduino-irremote-master\irremote.cpp.o (symbol plugin): in function `match(int, int)':
(.text+0x0): multiple definition of `__vector_7'
libraries\softpwm\softpwm.cpp.o (symbol plugin)
.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
fehler beim kompilieren für das board arduino nano.
dieser bericht wäre detaillierter, wenn die option
"ausführliche ausgabe während der kompilierung"
in datei -> voreinstellungen aktiviert wäre.
nachdem ich mein pwm problem scheinbar gelöst habe kommt nun das nächste.
scheinbar nutzen die softpwm und die irremote libary den selben timer,da ich nicht tief genug in der materie stecke um mich die timer ran zu wagen frage ich einfach mal ob jemand damit erfahrung hat oder evtl. sogar n workaround ;-)
lg
timme
code: [select]
#include <softpwm.h>
#include <irremote.h>
int array[12] = {255,255,255,255,255,255,255,255,255,255,255,255};
int update = 1;
int on = 1;
int irpin = 14; // digitales signal von pin 14 abgreifen
irrecv irrecv(irpin);
decode_results results;
void setup(){
pinmode (15, output); // pin 13 (led) als ausgang festlegen
irrecv.enableirin(); // ir empfaenger starten
softpwmbegin();
softpwmset(2, 0);
softpwmset(3, 0);
softpwmset(4, 0);
softpwmset(5, 0);
softpwmset(6, 0);
softpwmset(7, 0);
softpwmset(8, 0);
softpwmset(9, 0);
softpwmset(10, 0);
softpwmset(11, 0);
softpwmset(12, 0);
softpwmset(13, 0);
}
void loop(){
if (update == 1){
_updatepwm();
}
if (irrecv.decode(&results))
{
irrecv.resume(); // das signal empfangen
}
switch(results.value) // abhaengig vom signal in den richtigen modus springen
{
case 16712445:// on/off
if (on == 1){
_setarray(000,0);
}
else{
_setarray(000,255);
}
break;
case 16726725: // +
_setarray(000,999);
break;
case 16759365: // -
_setarray(000,888);
break;
}
}
void _setarray(int ch, int hex_value){
if (ch == 000){
switch (hex_value){
update = 1;
case 999:
(int = 0; <= 11; i++){
if ( array[i] <= 250 ){
array[i] = array[i]+5;
}
else{
array[i] = 255;
}
}
case 888:
(int = 0; <= 11; i++){
if ( array[i] >= 5 ){
array[i] = array[i]-5;
update = 1;
}
else{
array[i]= 0;
}
}
case 1 ... 255:
(int = 0; <= 11; i++){
array[i] = hex_value;
}
}
}
}
void _updatepwm(){
int array_cor = 2;
for (int = 0; <= 11; i++){
array_cor++;
softpwmset(array_cor, array[i]);
}
update = 0;
}
arduino: 1.8.0 (windows 7), board: "arduino nano, atmega328"
libraries\arduino-irremote-master\irremote.cpp.o (symbol plugin): in function `match(int, int)':
(.text+0x0): multiple definition of `__vector_7'
libraries\softpwm\softpwm.cpp.o (symbol plugin)

collect2.exe: error: ld returned 1 exit status
exit status 1
fehler beim kompilieren für das board arduino nano.
dieser bericht wäre detaillierter, wenn die option
"ausführliche ausgabe während der kompilierung"
in datei -> voreinstellungen aktiviert wäre.
bei mir werkelt ein pca9685 .und jetzt kennst du auch einen der gründe mehr.
das ist die beste lösung.
quote
da ich nicht tief genug in der materie stecke um mich die timer ran zu wagenwer nicht wagt, der nicht gewinnt.
Arduino Forum > International > Deutsch (Moderator: uwefed) > 2 Libaries mit dem selben Timer
arduino
Comments
Post a Comment