Autor Tema: Timer 1 en modo CAPTURA  (Leído 2100 veces)

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

Desconectado garlic_74

  • PIC10
  • *
  • Mensajes: 33
Timer 1 en modo CAPTURA
« en: 10 de Noviembre de 2005, 18:50:00 »
a ver si alguien se enrolla y pone algun cacho de codigo en c, a poder ser en CCS

o algo para poder probarlo en el PIC Simulator.... que no se como se hace para capturar la frequencia de una señal quadrada.


un saludo Sonrisa Gigante

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Timer 1 en modo CAPTURA
« Respuesta #1 en: 11 de Noviembre de 2005, 08:23:00 »
Ya que hablas de CCS, tienes un ejemplo en este de un frecuencimetro (freq.c creo recordar) donde usa exactamente lo que tu comentas ...
Si juegas contra el mejor, pierdes como los demás.

Desconectado garlic_74

  • PIC10
  • *
  • Mensajes: 33
RE: Timer 1 en modo CAPTURA
« Respuesta #2 en: 12 de Noviembre de 2005, 05:27:00 »
me lo he estado mirando EX_FREQC.C pero usa el timer1 de forma externa, no akabo de pillar el funcionamiento. Como minimo tendrias que tener otro timer quiza el 0 para comparar cuando salte por overflow el timer1, saber kuanto tiempo ha pasado.

En el ejemplo no se kom olo hace


un saludo

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Timer 1 en modo CAPTURA
« Respuesta #3 en: 12 de Noviembre de 2005, 05:34:00 »
Puede que no nos hallamos entendido, yo creí que necesitabas contar los pulsos TTL que entran por la patilla del timer ... ¿estamos hablando de lo mismo?
Si juegas contra el mejor, pierdes como los demás.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Timer 1 en modo CAPTURA
« Respuesta #4 en: 12 de Noviembre de 2005, 10:56:00 »
Tal y como está montado el ejemplo del que habláis, no necesita otro timer.
Básicamente es un bucle infinito con una duración predeterminada de 1s, para lo cual se ajusta con unos delay_cycles. Durante ese segundo, la patilla del timer va contando los pulsos que entran.
Al final del bucle, la frecuencia de los pulsos será exactamente el nº de ellos que han entrado.

Desconectado garlic_74

  • PIC10
  • *
  • Mensajes: 33
RE: Timer 1 en modo CAPTURA
« Respuesta #5 en: 14 de Noviembre de 2005, 07:40:00 »
yo kiero k kuente la frecuancia pero k pueda ejecutar otras cosas coperativamente, que lo cuente el solo, y vaia actualizando un registro con la freq.
Yo me pensava k con el timer1 en modo captura se podia hacer.



gracias

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Timer 1 en modo CAPTURA
« Respuesta #6 en: 14 de Noviembre de 2005, 10:27:00 »
Claro que puedes hacer cosas de mientra, incluso contar el segundo con el timer, el problema es la precisión de ese segundo, en el ejemplo para controlar 1 segundo perfecto, hace una rutina ASM que dura los ciclos justos para ello.
Si juegas contra el mejor, pierdes como los demás.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Timer 1 en modo CAPTURA
« Respuesta #7 en: 14 de Noviembre de 2005, 23:51:00 »
Con un timer también se puede hacer, y como tú dices, queda el micro libre para otras tareas, aunque tendrás que tener en cuenta la duración exacta de tu intervalo de interrupción.

Es difícil que consigas un salto de 1 segundo exacto con los cristales habituales, y las combinaciones de preescaler que puedes usar, pero no importa.

Imagina que consigues programar un intervalo de 852 us, por ejemplo. Si has contado en ese periodo 10000 pulsos, la frecuencia de tu señal sería de f = 10000 / 0.852 = 11737 Hz.


 

anything