TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores 8 bits => Mensaje iniciado por: JCAK en 24 de Junio de 2006, 01:00:08

Título: #pragma vector=0x20 pero con BASCOM
Publicado 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
Título: Re: #pragma vector=0x20 pero con BACOM
Publicado por: djpalas en 24 de Junio de 2006, 08:19:35
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 :)

Título: Re: #pragma vector=0x20 pero con BASCOM
Publicado por: JCAK en 04 de Julio de 2006, 20:53:44
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