Autor Tema: Calculadora para timers  (Leído 6926 veces)

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

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1836
    • IDEAA
Calculadora para timers
« en: 04 de Mayo de 2016, 07:17:02 »
Hola!
Hay varias calculadoras de timer para PIC dando vueltas por internet, pero la mayoria son algo antiguas, y los PIC se han actualizado con nuevos prescaler, postscaler, y demas... y las calculadoras disponibles no tienen los nuevos parametros.
Me he cansado de andar con la calculadora y por eso he creado una calculadora muy simple, que permite introducir los valores que queremos y nos dira los tiempos de interrupcion, overflow y tick del timer. Es tan simple que ni siquiera hago comprobaciones de que los valores introducidos esten bien, entiendo que sabemos mirar el datasheet y poner valores validos  :mrgreen:


* Captura.PNG
(24.9 kB, 477x339 - visto 1422 veces)


Esta pensado principalmente para el timer 2, que es el que mas configuraciones suele tener, pero servira para cualquier timer.
Esta el proyecto entero en VB Express 2010. En la carpeta bin\release\ esta el ejecutable si no quereis compilarlo.

Si alguien hace alguna mejora que lo comparta  :-/

Un saludo!
« Última modificación: 04 de Mayo de 2016, 07:22:57 por Marttyn »
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re:Calculadora para timers
« Respuesta #1 en: 04 de Mayo de 2016, 08:58:37 »
Hola Marttyn, gracias por compartir tu proyecto.
Creo que para gente con poca experiencia, como es mi caso, seria bueno tener una version de la calculadora, que partiendo de los datos que en la original son calculados, calcule los que son introducidos. Me explico: Introduciendo la frecuencia del cristal, tiempo para overflow, teimpo para interrupcion y tiempo para ticks, se calculen los valores de preset, prescaler y postcaler.
Ya se que es una modificacion muy sencilla de hacer, pero yo no puedo hacerla porque no utilizo VB, ni tan siquiera windows de forma habitual, tan solo para utilizar ciertos programas de desarrollo de los PIC's.

Saludos.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1836
    • IDEAA
Re:Calculadora para timers
« Respuesta #2 en: 04 de Mayo de 2016, 11:47:14 »
Hola Marttyn, gracias por compartir tu proyecto.
Creo que para gente con poca experiencia, como es mi caso, seria bueno tener una version de la calculadora, que partiendo de los datos que en la original son calculados, calcule los que son introducidos. Me explico: Introduciendo la frecuencia del cristal, tiempo para overflow, teimpo para interrupcion y tiempo para ticks, se calculen los valores de preset, prescaler y postcaler.
Ya se que es una modificacion muy sencilla de hacer, pero yo no puedo hacerla porque no utilizo VB, ni tan siquiera windows de forma habitual, tan solo para utilizar ciertos programas de desarrollo de los PIC's.

Saludos.


Lo que dices tiene mucho sentido, y seria muy util. Pero no es una modificacion tan sencilla como parece.
Por un lado cada PIC tiene unos prescalers y postscalers determinados, y no todos tienen los mismos, por lo que habria que definirle al programa cuales son los que tiene tu PIC.
Por otro lado, es la combinacion de 3 factores los que te dan un tiempo de interrupcion, pero varias configuraciones diferentes te pueden dar el mismo tiempo de interrupcion. Por ejemplo:
Para un PIC a 4Mhz si queremos una interrupcion cada 400uS podemos conseguirlo con:
-Pre: 1 / PR: 24 / Post: 16
-Pre: 16 / PR: 24 / Post: 1
-Pre: 2 / PR: 24 / Post: 8
-Pre: 8 / PR: 24 / Post: 2
-Pre: 4 / PR: 24 / Post: 4
-Pre: 1 / PR: 49 / Post: 8
-Pre: 8 / PR: 49 / Post: 1
-Pre: 2 / PR: 49 / Post: 4
-Pre: 4 / PR: 49 / Post: 2
-Pre: 1 / PR: 99 / Post: 4
-Pre: 4 / PR: 99 / Post: 1
-Pre: 2 / PR: 99 / Post: 2
-Pre: 1 / PR: 199 / Post: 2
-Pre: 2 / PR: 199 / Post: 1

y tal vez me dejo alguno.... pero creo que entiendes el problema. El programa no te puede dar una unica solucion, por lo que tendria que calcular TODAS las opciones posibles mirando cual da el resultado que tu buscas. No es dificil de hacer, pero llevaria un rato.
Y dada una velocidad de PIC, no es dificil jugar con 3 valores hasta dar con el que mas te guste :mrgreen:
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re:Calculadora para timers
« Respuesta #3 en: 04 de Mayo de 2016, 14:43:42 »
Y dada una velocidad de PIC, no es dificil jugar con 3 valores hasta dar con el que mas te guste :mrgreen:

Justo de eso trataba de huir, pero tal como lo planteas, habra que utilizar el  metodo de prueba y error. :D :D

Saludos.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Calculadora para timers
« Respuesta #4 en: 04 de Mayo de 2016, 14:59:52 »
Justo de eso trataba de huir, pero tal como lo planteas, habra que utilizar el  metodo de prueba y error. :D :D

Es que tambien mucho depende de la precision, algunos valores tal ves den un numero fraccionario. Y vos quieras ser bien preciso. Supongamos:

-Pre: 2 / PR: 199 / Post: 1

398 ciclos de reloj serian, pero vos querias exactamente 399, Y podes hacerlo como te guste

Pre: 1 / Post: 1 todos

PR: 200 Primera interrupcion, 199 la segunda
PR: 256 Primera interrupcion, 143 la segunda
etc..

Eso va a terminar pasando por que es te conviene mas, como te resulta mas facil, etc.