TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: fastyx en 31 de Mayo de 2006, 19:06:58

Título: cantidad de enable_interrupt
Publicado por: fastyx en 31 de Mayo de 2006, 19:06:58
Amigos: estoy tratando de hacer andar la placa de control de un motor de cc con encoder.

encuentro que despues de haber dejado ok la parte de sensado de posicion del encoder,cuando quiero habilitar la interrupcion del timer 2 para el pwm del motor , el programa se muere.
tengo esto: (es un pic16f873)
void ini( )
{
   setup_adc_ports (AN0);
   setup_adc (ADC_CLOCK_DIV_32);
   setup_spi (FALSE);
   setup_timer_0 ( RTCC_INTERNAL | RTCC_DIV_16 ) ;
   setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_8 ) ;
   setup_timer_2 ( T2_DIV_BY_1, 250, 3 ) ;
   setup_ccp1 ( CCP_PWM );
   setup_ccp2 ( CCP_PWM ) ;
   setup_comparator (NC_NC_NC_NC);
   setup_vref (FALSE);

   porta= 0b00000000; trisa= 0b11000001;
   portb= 0b00000000; trisb= 0b11000001;
   portc= 0b00000000; trisc= 0b10010000;

   set_pwm1_duty (0);

   enable_interrupts (INT_RB);         // ENCODER
   enable_interrupts (INT_RDA);       //recepcion de datos serie
   enable_interrupts (INT_RTCC);     // 524 ms AUTOAPAGADO
   enable_interrupts (INT_EXT);
   enable_interrupts (INT_TIMER2);     // PWM 1 Y 2
   enable_interrupts (GLOBAL);

si dejo el enable_interrupt de rb y de rda ,va bien. Si agrego el timer 2 se pudre todo. Alguna ayuda por favor... :lol:
Título: Re: cantidad de enable_interrupt
Publicado por: maunix en 31 de Mayo de 2006, 23:19:00
Si quieres puedes habilitar todas las interrupciones que se te ocurran , el tema es que si el período del PWM es muy pequeño (muy grande la frecuencia) se te estará activando todo el tiempo la interrupción del TMR2.

Saludos
Título: Re: cantidad de enable_interrupt
Publicado por: fastyx en 01 de Junio de 2006, 07:12:43
gracias maunix, mi duda era si tenia un limite en la cantidad de declaracion de enable_interrupt, haora voy a hacer los calculos haber si como vos decis el pwm se come todo el tiempo la capacidad de interrupcion.
Título: Re: cantidad de enable_interrupt
Publicado por: maunix en 01 de Junio de 2006, 12:44:27
gracias maunix, mi duda era si tenia un limite en la cantidad de declaracion de enable_interrupt, haora voy a hacer los calculos haber si como vos decis el pwm se come todo el tiempo la capacidad de interrupcion.

Asi es, precisamente a eso apuntaba mi post anterior.  :)