TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: henryflash en 07 de Mayo de 2012, 20:35:26
-
Hola : estoy haciendo un programa en 12f629, alguien puede ayudarme a resetear el micro al comparar un bit. también podría ser no se si podrá generar una interrupción, el problema en concreto es que mi programa va generando temporizaciones, pero yo quiero que si el bit que inicio el proceso cambia de estado se interrumpa los temporizadores que estuvieran trabajando y el programa espera nuevamente el cambio de estado del bit. Bueno espero que se entienda lo que necesito , desde ya gracias....
Saludos enrique
-
hace tiempo lo intente, pero no pude conseguirlo.
La verdad nose como realizarlo.
Lo unico que se me ocurrio en su momento fue realizar un "goto" al primer bloque. Pero esto no es serio
F.
-
hola : gracias fer taca seguiremos pensando jeje.
Saludos enrique...
-
Hola henryflash. Probaste un inr a un inversor, res de 10K y RA4, estado inicial bajo como salida llega alto al reset, si cambia de estado el pin como resultado de la comparación --> reste? No lo he implementado pero creo que puede servir.
-
Hola henryflash. Probaste un inr a un inversor, res de 10K y RA4, estado inicial bajo como salida llega alto al reset, si cambia de estado el pin como resultado de la comparación --> reste? No lo he implementado pero creo que puede servir.
hola: si creo que eso podría funcionar,mi intención era lograr un reset por soft pero no encontré la forma. Gracias por la idea lo voy a probar.
Saludos enrique...
-
Si lo que buscas es reset neto por soft, quizá es una tontera lo que comento pero idea al fin, el que podría utilizarse es el watchdog, que se refresque si algo, si no reset, creo que así es como trabaja, lo metes a un lazo cerrado y salta. El problema es el tiempo que tarda en hacerlo. Si no es coherente te pido disculpas, soy ignorante en esto y a veces no me doy cuenta y largo una sonsera. Un abrazo. Santiago
-
Si lo que buscas es reset neto por soft, quizá es una tontera lo que comento pero idea al fin, el que podría utilizarse es el watchdog, que se refresque si algo, si no reset, creo que así es como trabaja, lo metes a un lazo cerrado y salta. El problema es el tiempo que tarda en hacerlo. Si no es coherente te pido disculpas, soy ignorante en esto y a veces no me doy cuenta y largo una sonsera. Un abrazo. Santiago
Muy coherente la cosa
-
Gracias Fermin, espero le sirva a henryflash.
-
Gracias Fermin, espero le sirva a henryflash.
[/quote
Todo sirve muchas gracias a vos y todos los que colaboraron.
Saludos enrique..
P.D sigo buscando lo que mas me comvenga para mi proyecto..............................
-
Hola! Encontraste al final alguna solución definitiva? Los PIC18 tienen opción de reset por soft, pero los PIC12 no.. Me parece que la mejor opción es la que te sugirió lucegiar, habilitar el watchdog timer y entrar en un lazo cerrado. El tema es q si mal no recuerdo niple deshabilita el WDT por default, así q vas a tener q setear el bit WDTE sobre el ASM generado justo antes de que llames a la rutina de lazo cerrado.... También te sugeriría que verifiques que el prescaler esté seteado en 1:1, así te aseguras que el tiempo límite para que se resetee solo no pase de unos 20 mS
Saludos!
-
Hola! Encontraste al final alguna solución definitiva? Los PIC18 tienen opción de reset por soft, pero los PIC12 no.. Me parece que la mejor opción es la que te sugirió lucegiar, habilitar el watchdog timer y entrar en un lazo cerrado. El tema es q si mal no recuerdo niple deshabilita el WDT por default, así q vas a tener q setear el bit WDTE sobre el ASM generado justo antes de que llames a la rutina de lazo cerrado.... También te sugeriría que verifiques que el prescaler esté seteado en 1:1, así te aseguras que el tiempo límite para que se resetee solo no pase de unos 20 mS
Saludos!
hola visperia: mira en realidad para el caso particular de mi proyecto lo único que puede funcionar es el sistema propuesto por lucegiar , te cuento el porque. mi proyecto realizado con 12f629 consulta al gp0 si esta en cero manda gp1 a 1 cuenta tiempo y gp1 a cero asi unas cuantas veces accionando distinto gp entre cuenta y cuenta vuelvo a consultar el estado de gp0 pero mientras esta dentro del bucle de una cuenta no lo puedo interrumpir. Entonces la solución es resetearlo externamente con el mismo interruptor parece fácil, no lo probé todavía pero creo que va a funcionar.
Saludos enrique..