TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: RaDoN en 05 de Diciembre de 2005, 06:40:00

Título: Temporizaciones con interrupción
Publicado por: RaDoN en 05 de Diciembre de 2005, 06:40:00
Buenas, ma surgido una duda, creo que es elemental, pero estas cosas aunque lo fundamental se retiene hay detalles que se olvidan.

Ando con un temporizador para la insoladora (ya tenia uno que hice hace un año por haya cuando usaba ASM y sinceramente, no recuerdo mucho).

Simplmenta hace una cuenta con la interrupción del timer0 mientras multiplexa los 7 segmentos. Ahora bien para hacer 1 seg plantee ponerle un divisor al timer de 64, y cargarlo con 131 (125 ticks) y que chequeara 125 entradas:

 64 * 125 * 125 = 1000000 de ciclos, a 4Mhz (1u/S instrucción) dan el segundo exacto.

La duda viene en que para conseguir el segundo perfecto habria que tener en cuenta que chequear el nº de entradas consume tiempo. He pensado que lo ideal seria cargar el valor en el timer justo al entrar para que contase desde ahi el tiempo así no se produciria retraso, siempre y cuando tarde menos de 125 instrucciones chequear y ajustar el tiempo para no falsear (que pienso que para dos chequeos y dos restas no los couparáGiño.

¿Está bien mi razonamiento o estoy equibocado por completo? Gracias a todos Fumador
Título: RE: Temporizaciones con interrupción
Publicado por: RedPic en 09 de Diciembre de 2005, 13:50:00
Amigo radon:

Creo que estamos en el mismo asunto ... lo que estamos comentando en el hilo de los cristales es para hacer un temporizador para una insoladora Flash así que o seguimos por aquí o lo completamos por allá ... o lo bifurcamos y nos hacemos esquizofrenicos y lo discutimos en ambos ...

Pd. Por lo que veo tanto Nocturno como tú y yo mismo somos de Hispalis. Ya tenemos a güebo el germen del Hispalis Picmaníacos Club Sonrisa Gigante

Título: RE: Temporizaciones con interrupción
Publicado por: RaDoN en 09 de Diciembre de 2005, 16:05:00
jeje, creo que cuando tenga lista la pcb lo mejor sera probarlo, ya comento como fué y demás ... aver si me dejan tiempo los examenes Llorando
Título: RE: Temporizaciones con interrupción
Publicado por: pocher en 11 de Diciembre de 2005, 03:03:00
Hola Radon.

La solución comprobada que yo encontré es detectar la subida del bit TOIF al desbordarse el TMR0 pero en el while no en la interrupción de esa forma no "se gasta tiempo" al entrar en la interrupción.

Un saludo
Título: RE: Temporizaciones con interrupción
Publicado por: RaDoN en 11 de Diciembre de 2005, 08:01:00
Me parece buena solución tb, gracias pocherSonrisa Gigante