TODOPIC
Otros Microcontroladores / Dispositivos programables => Microcontroladores 8 bits => Mensaje iniciado por: JCAK en 24 de Junio de 2006, 01:00:08
-
Hola a todos los del foro ATMEL
Que desgracias que seamos tan poquitos en esta sección del foro, pero a ver si alguien me puede ayudar.
Tengo una linea en C que dice:
#pragma vector=TIMER0_OVF_vect
El valor para TIMER0_OVF_vect es 0x20 según los datos que tengo para este micro ATMEGA48.
Mi pregunta es si alguien sabe explicarme lo que hace esta linea y cómo podría pasarla al BASIC de BASCOM
Saludos y gracias a todos
-
Hola JCAK!
La verdad es que llevas razon, yo estoy aprendiendo los AVR, aquí se ayuda bastante porque es en español.
Pero si quieres hay una comunidad de AVR de Atmel. http://www.avrfreaks.net/ (http://www.avrfreaks.net/) Lo malo que esta todo en ingles.
Espero que te sirva compañero ;), y si alguien sabe de alguna comunidad como esta gran familia para PIC, pero en ATMEL y que este en español, no vendria nada mal de saber para aprender mas :)
-
Gracias a la colaboración de este foro pero en la sección de programación en C, ya esta la respuesta a esta pregunta.
En el compilador IAR, el #pragma vector = 0xNN verifica si se produce una interrupción que debe ser la de ese vector NN en cuestión. Si esto ocurre, se ejecuta la rutina que está inmediatamente a continuación.
En el compilador AVRGCC se reemplaza por ISR(nombre del vector)
Ejemplos IAR:
#pragma vector=TIMER0_OVF_vect
__interrupt void MotorPWMBottom()
{
unsigned char temp;
ADCSRA &= ~((1 << ADATE) | (1 << ADIE));
while (!(ADCSRA & (1 << ADIF)))
.
.
.
Ejemplo AVRGCC:
ISR(TIMER0_OVF_vect)
{
unsigned char temp;
ADCSRA &= ~((1 << ADATE) | (1 << ADIE));
while (!(ADCSRA & (1 << ADIF)))
.
.
.
Saludos