Autor Tema: problemas con el ccp1  (Leído 2305 veces)

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

atun22

  • Visitante
problemas con el ccp1
« en: 03 de Abril de 2006, 09:14:00 »
Hola tengo un problemilla con el pic al programarlo  con una interrupción ccp1 modo capture ya que no me entra nunca en la interrupción y no se entonces como funciona:

setup_ccp1(CCP_CAPTURE_RE);    
enable_interrupts(INT_CCP1);    
enable_interrupts(GLOBAL);

Gracias

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: problemas con el ccp1
« Respuesta #1 en: 03 de Abril de 2006, 10:16:00 »
Talvez si nos pones el código al que va cuando llega la interrupción...

#int_CCP1

atun22

  • Visitante
RE: problemas con el ccp1
« Respuesta #2 en: 03 de Abril de 2006, 10:34:00 »
la idea es para hacer un encoder, el codigo de la interrupcion es bastante sencillo (la prueba sin acabar, claro):

#INT_CCP1
ccp1_isr(){
   if (i<=8){
      i++;
      derecha(); // gira a la derecha
   } else { i=0;}
}


el problema está en que no me entra en la interrupción y no se si me falta añadir algo más o especificar algún dato más.

Grácias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: problemas con el ccp1
« Respuesta #3 en: 03 de Abril de 2006, 10:48:00 »
Talvez no has configurado bien la terminal CCP1. Hay PICs en los que la terminal se encuentra en dos patitas y tú eliges una mediante un fusible a la hora de la programación.

Otra posibilidad es que no hayas declarado CCP1 (la patita correspondiente) como entrada.

O talvez mientras está atendiendo la interrupción llega otra interrupción inmediatamente y no tiene tiempo de ejecutarla correctamente.

Puedes revisar el ejemplo EX_CCPMP.C.

atun22

  • Visitante
RE: problemas con el ccp1
« Respuesta #4 en: 03 de Abril de 2006, 11:00:00 »
mi duda, pues, queda en que en el ejemplo que me propones que mire utiliza un timer y yo en ningún momento utilizo un timer, quizá ahí esté mi problema.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: problemas con el ccp1
« Respuesta #5 en: 03 de Abril de 2006, 11:13:00 »
Ah, pues sería bueno que lo configuraras, ese timer se usa para capturar el tiempo del ccp1 (subida) y hacer una diferencia con el tiempo del ccp2 (bajada) y medir el tiempo en ALTO del pulso.

¿En tu programa mides tiempos o solo usas el ccp1 como interrupción? Porque si no mides tiempo talvez sea mejor usar la RB0 como interrupción externa.


 

anything