Hallo, ich bin gerade dabei mich mit meinem neuem myAVR Board MK1 LPT vertraut zu machen. Nun war der Timer dran, welche alle Millisekunde einen Interrupt auslösen soll. Die erste Idee war, dass ich einen an PC0 angeschlossenen Summer ansteuert wollte, nun versuche ich gar verzweifelt überhaupt den Interrupt auszulösen. Es wäre schön, wenn sich jemand meinen Code einmal kurz ansehen könnte.
Ich bekomme diesen Warning ../Allg_Test.c:122: warning: 'SIG_SIG_OVERFLOW2' appears to be a misspelled signal handler Sollte heissen ISR(TIMER2_OVF_vect) Das heisst du solltest dir im klaren sein, willst du ein Overflow oder ein Comparematch. Port umschalten geht auch mit PORTC ^= (1<<PC0);
Hi Hubert, Hubert G. schrieb: > Ich bekomme diesen Warning ../Allg_Test.c:122: warning: > 'SIG_SIG_OVERFLOW2' appears to be a misspelled signal handler > Sollte heissen ISR(TIMER2_OVF_vect)
1 | |
hatte ich zu Anfang auch versucht. Nur da kam bei mir ein Error von wegen _vector(3) undefiniert. Deine warning bekomme ich nicht. Komisch, hab OpenSuSE/11.1, cross-avr-binutils/2.19, cross-avr-gcc/4.1.3, avr-libc/1.6.1 und avrdude/5.5. > Das heisst du solltest dir im klaren sein, willst du ein Overflow oder > ein Comparematch. > Port umschalten geht auch mit PORTC ^= (1<<PC0); Ich wollte eigentlich CompareMatch.
Ich nehme mal an er mault auch wegen dem SIG_SIG, das gehörte auch in der alten Version nicht. Einmal SIG genügt. Sonst gehört dann TIMSK |= _BV(OCIE2); SIGNAL(SIG_OUTPUT_COMPARE2) Das ist aber sicher nicht die neueste Version GCC.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.