Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Ce.O en 04 de Febrero de 2017, 11:30:11
Título: Como habilitar y configurar el timer1 del 18f4550
Publicado por: Ce.O en 04 de Febrero de 2017, 11:30:11
Hola a todos. Soy nuevo en el foro, espero y me puedan ayudar con lo siguiente. Lo que pasa es que quiero medir una frecuencia de una señal, usando la interrupción del pic, planeo introducirle una onda cuadrada al pic en el pin de interrupción y cuando vaya el 1er flanco se vaya a la interrupción y guarde el valor del timer en una variable, cuando sea el siguiente flanco vuelva a la interrupción y guarde ese valor en otra variable, para de esta manera obtener el periodo restando la 2da con la 1ra y ya con el periodo obtener la frecuencia. El asunto es que no sé como obtener el valor del timer. Saludos, anexo el código.
Título: Re:Como habilitar y configurar el timer1 del 18f4550
Publicado por: KILLERJC en 04 de Febrero de 2017, 11:38:50
get_timer1 es una funcion.. asi que seria:
Y te lee los 16bits que posee el timer 1, por lo cual
Código: C
v1 = get_timer1();
Te falta configurar el timer con
Código: C
setup_timer_1(//Aca dentro el modo)
Y luego te falta mostrar ese v2, para que al menos veas algo.
-------------
Otras cosas, si usas FAST_IO, entonces tenes que usar set_tris_x(valor), donde x es el puerto y el valor es lo que vas a poner en el registro TRIS #T1oscen no existe
Si tenes dudas sobre las funciones, busca en google "CCS manual" y ahi tenes un PDF con todas las funciones que posee.
Título: Re:Como habilitar y configurar el timer1 del 18f4550
Publicado por: Ce.O en 04 de Febrero de 2017, 12:06:50
Ya le modifiqué un poco y ya imprimí el perido, aunque creo que debo convertirlo por lo de los ciclos máquina, ya que me da un valor muy distinto.
Título: Re:Como habilitar y configurar el timer1 del 18f4550
Publicado por: KILLERJC en 04 de Febrero de 2017, 12:21:32
Si tenes que convertirlo.
En el cual vas a tener que tener en cuenta el preescaler que elegiste para el Timer1, Y tambien la frecuencia del oscilador primario ( que en caso de usar el PLL seria los 48Mhz de salida del PLL)
Título: Re:Como habilitar y configurar el timer1 del 18f4550
Publicado por: Ce.O en 04 de Febrero de 2017, 12:28:49
Ok, gracias por la ayuda. Ya lo he reparado, aunque si tiene un margen de unos 30hz de error.