Go Down

Topic: problemilla en vector interrupcion [SOLUCIONADO] (Read 326 times) previous topic - next topic

leotardo

Jan 25, 2012, 11:44 pm Last Edit: Jan 26, 2012, 03:01 am by leotardo Reason: 1
Code: [Select]
#include <avr/io.h>
#include <avr/interrupt.h>

#define _TIMER2_COMPA_vector _VECTOR(8) //PONE VECTOR INTERRUPCION,
#define _TIMER2_COMPB_vector _VECTOR(9) //PONE VECTOR INTERRUPCION,

int main(void){
TCCR2A=0x33; //Set OC2B on Compare Match, clear OC2B at BOTTOM,  3 Fast PWM 0xFF BOTTOM MAX ???
TCCR2B=0x07; //preescaler  clck/1024 y TIMER 2 ON
OCR2B =0xA0; //salta a 0xA0
TIMSK2=0x04; //interrupciones a on el compa B
sei();     //necesario ponerlo,

while(1)    {}
}

ISR (_TIMER2_COMPA_vector){ UDR0='A';} //saca A por usart
ISR (_TIMER2_COMPB_vector){ UDR0='B';} //saca B por usart


trato de probocar una interrupcion por tiempo, sin usar sistema operativo de arduino por varios motivos particulares.
uso el timer 2, de los dos topes que tiene uso el B.
se compila perfectamente desde el IDE arduino 1.0

el programa saca AAAAAAAA,  ¿no deberia decir BBBBBBBB?

es como si el numero de vector no fuese el numero de vector del PDF, sino su posicion de memoria.  ¿es asi?

--------

EDITADO AÑADIDO:

el PDF dice que enpiezan en 1, que es el reset, en el   iom328p.h   el reset es el  0 (que ni se declara), de ese pecado original el mal entendido.

Go Up