AVR Wechsel m644 zu m1284p build Fehler in ISR

Gast #2358136
Lesenswert?

beim Wechsel von m644 zu m1284p passiert folgendes

SIGNAL(SIG_OVERFLOW0) alt
../timer2_104.c:211: warning: 'SIG_OVERFLOW0' appears to be a misspelled 
signal handler

probiert:
ISR(SIG_OVERFLOW0) dito

lt. Datenblatt ist TIMER0_OVF -> Vector(19) im m1284p
im m644 dito
19 $0024 TIMER0_OVF Timer/Counter0 Overflow

in der
iomxx4.h"(805) #define SIG_OVERFLOW0      _VECTOR(18)
wieso ist da ein Unterschied zur m644 ?

und welcher Vector gilt nun und wie beseitigt man den Fehler ?

vielen Dank
Gast #2358159
Lesenswert?

es wird immer verrückter

suche ich nach

SIG_OVERFLOW0

stosse ich auf:
iom128.h"(426) #define SIG_OVERFLOW0      _VECTOR(16)
iom64.h"(425) #define SIG_OVERFLOW0      _VECTOR(16)
iomxx4.h"(805) #define SIG_OVERFLOW0      _VECTOR(18)

nirgendwo taucht _VECTOR(19) auf welcher ja der TIMER0 overflow sein 
soll

suche ich falsch ? *.h
"C:\PROGRAMME\ATMEL\WINAVR\avr\include\avr\ mit subfolders
Gast #2358176
Lesenswert?

Dafür steht in iom1284p.h
#define TIMER0_OVF_vect   _VECTOR(18)  /* Timer/Counter0 Overflow */
#define SPI_STC_vect      _VECTOR(19)  /* SPI Serial Transfer Complete 
*/

Gegenüber dem Datenblatt scheinen die Nummern alle um verschoben, weil 
dort der Resetvektor als Vektor 1 aufgeführt ist.
mfg
Gast #2358186
Lesenswert?

Verwirrter Anfänger schrieb:
> Wenn du ISR nimmst, ist die korrekte Variante:

sagte ich nicht bereits das ich das probiert hatte ?

../timer2_104.c:212: warning: 'TIMER0_OVF' appears to be a misspelled 
signal handler
1
ISR(TIMER0_OVF)
2
//ISR(SIG_OVERFLOW0)
3
//SIGNAL(SIG_OVERFLOW0)
4
{  extern volatile UWORD count__;
5
  cli();
6
  count__++;
7
  TCNT0 = -2;          // 2 * 256 = 512 cycle      // preload for 250µs RC5
8

9
    (void) irmp_ISR();                                     // call irmp ISR
10
  (void) rc5_ISR();
11
  sei();
12
}

es bleibt ja dabei das ich keine Verknüpfung finde

"C:\PROGRAMME\ATMEL\WinAVR\avr\include\avr\iomxx4.h"(804) #define 
TIMER0_OVF_vect      _VECTOR(18)
"C:\PROGRAMME\ATMEL\WinAVR\avr\include\avr\iom644pa.h"(946) #define 
TIMER0_OVF_vect      _VECTOR(18)  /* Timer/Counter0 Overflow */


wo es doch eigendlich lt. Datenblatt Vector 19 sein soll

also das hier verwirrt noch mehr,
suche ich nach: _VECTOR(19) finde ich
iom16hvb.h"(850)
iom32hvb.h"(833)

beide haben doch nix mit dem 644 oder 1284p zu tun ?

suche ich nach: TIMER0_OVF finde ich
iom1284p.h"(1057) _VECTOR(18)
iom644pa.h"(945) #define TIMER0_OVF_vect_num  18
iom644pa.h"(946) #define TIMER0_OVF_vect      _VECTOR(18)

doc2593.pdf
10.1 Interrupt Vectors in ATmega644
(Vector)19 $0024 TIMER0_OVF Timer/Counter0 Overflow

dito in m1284p

win avr Version WinAVR-20100110

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