Autor Tema: #pragma vector=0x20 pero con BASCOM  (Leído 2714 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JCAK

  • PIC18
  • ****
  • Mensajes: 325
#pragma vector=0x20 pero con BASCOM
« 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
« Última modificación: 30 de Junio de 2006, 16:55:48 por JCAK »
Julio - Argentina

Desconectado djpalas

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 595
    • Microtronic
Re: #pragma vector=0x20 pero con BACOM
« Respuesta #1 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/ 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 :)


Saludos desde Cádiz, España
Web personal: http://www.microtronic.es

Desconectado JCAK

  • PIC18
  • ****
  • Mensajes: 325
Re: #pragma vector=0x20 pero con BASCOM
« Respuesta #2 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
Julio - Argentina