Pages: [1]   Go Down
Author Topic: problemilla en vector interrupcion [SOLUCIONADO]  (Read 320 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
#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.
« Last Edit: January 25, 2012, 09:01:04 pm by leotardo » Logged

Pages: [1]   Go Up
Jump to: