Page 1 of 1

Pic 16f690

Posted: Wed Feb 22, 2012 12:12 pm
by navarro
Saludos a todos y gracias en primer lugar ,

El problema es que quiero realizar un pulsador de on/off , hasta ahora lo que he realizado es el "main" el cual con una interrupcion programada ( RB4 ), paro todas las salidas , luego en la interrupcion , desactivo la interrupcion , y espero la lectura del pin (RB4) que esta dentro de un bucle, espera leer RB4 para salir de un if, el problema es que al salir retorna en el proceso que estaba cuando lo que quiero es un reset , con la instruccion en c reset() no funciona ,

en principio por lo que he podido leer lo mejor quizas seria hacer un sleep(); por que ese pic tiene la funcion "ulpwu" , pero ese pin solo es para "wake up" ???

en todo caso necesito un boton que al pulsarlo " pare " el pic , y al pulsarlo empieze el programa de nuevo ,

muchas gracias de antemano ....

Re: Pic 16f690

Posted: Wed Feb 22, 2012 12:59 pm
by Benj
Hola,

Usted puede utilizar esta función en un icono de código C para restablecer eficazmente el programa de nuevo al comienzo.

reset ();


Hello,

You can use this function in a C code icon to effectively reset the program back to the start.

reset();

Re: Pic 16f690

Posted: Wed Feb 22, 2012 1:08 pm
by navarro
muchas gracias por la velocidad de respuesta , como puedes leer con un reset() en c , no funciona

Como realizaria usted un pulsador on / off ??

Re: Pic 16f690

Posted: Wed Feb 22, 2012 1:40 pm
by Benj
Hola,

Lo siento que me perdí en la traducción. Cuando usted dice que el reset (), función que no está trabajando lo está causando un error de compilación o es que no simlpy hacer nada cuando tratas de ejecutar la función. ¿Podría conectar el programa de Flowcode y voy a echar un vistazo rápido para que usted pueda ver si hay algo que pueda manchar. Sé que muchas personas han utilizado la función de reposición en el pasado sin problemas.


Hello,

Sorry I missed that in the translate. When you say the reset(); function is not working is it causing a compilation error or is it simlpy not doing anything when you try and run the function. Could you attach your Flowcode program and I will have a quick look for you to see if there is anything I can spot. I know many people have used the reset function in the past without issues.

Re: Pic 16f690

Posted: Wed Feb 22, 2012 3:29 pm
by navarro
sorry , i'am translate de code for you , is better , mi inglish is bad (sorry , but better traductor)

Re: Pic 16f690

Posted: Wed Feb 22, 2012 4:29 pm
by Benj
Another simple way to reset the device is to enable the watchdog timer in software by writing to the option register. Then delay until the watchdog overflows and this will reset the device for you.

Re: Pic 16f690

Posted: Wed Feb 22, 2012 4:34 pm
by navarro
the files in 3 part, sorry :oops:

Re: Pic 16f690

Posted: Wed Feb 22, 2012 4:34 pm
by navarro
another part

Re: Pic 16f690

Posted: Wed Feb 22, 2012 4:35 pm
by navarro
thank , thanks

Re: Pic 16f690

Posted: Wed Feb 22, 2012 10:24 pm
by arizawilmer
hola,primero quiero confirmar cual es tu problema:

1.quieres hacer lectura de interruptores on/off
2.lo quieres hacer por interrupciones
3.en el programa de la interrupcion tines el comando reset() para que te retorne teoricamente hacia el programa principal
4.tu pregunta seria es como retornar de una interrupcion hacia el programa principal?

Nota:cuando pongas programas en el foro porfavor no es necesario comprimirlo ,y porfavor pon la version de flowcode que tienes

----------------------------------------
Hi,first i want to confirm your problem

1.you want to read a switch on/off
2. you want to do this with interruptions
3.in the program of the interruption you have the command reset() theoretical that retunes to main program
4.maybe your question is how to return from a interruption to the main program?


:!:

Re: Pic 16f690

Posted: Thu Feb 23, 2012 4:16 pm
by navarro
- flowcode 5 ,
- quiero relizar un boton de on / off y pienso que con una interrupcion paro ( off ) el pic en cualquiler momento ,
- el problema es que cuando retorna no inicia el programa , continua donde estaba ,

ejemplo : si hago la interrupcion en la linea 20 de programa principal , cuanto pulso otra vez y salgo de ella me continua por la linea 21 ,
cuando lo que necesito es que al salir de la interrupcion salte a la linea 1 del programa principal ,

se que no es cierto pero creo que te puede ayudar

" goto_main(0) "

en mi programa pongo reset() , pero continua por donde estaba ,

gracias

Re: Pic 16f690

Posted: Thu Feb 23, 2012 7:32 pm
by arizawilmer
Te comento,usualmente lo que hago es ese caso es colocar una bandera,(por mi metodologia de programacion y ya que en la mayoria de programas tengo multiples usos para cada boton)lo que me refiero con la bandera es colocar una bandera en 1 y que al detectar el programa principal que esta on la bandera se reinicie el programa.lastimosamente el ejemplo que tienes no lo puedo ver ya que yo tengo licencia de la version 4.

Re: Pic 16f690

Posted: Thu Feb 23, 2012 9:27 pm
by navarro
yo dispongo del flowcode 4 y 5 , si lo deseas estaria muy agradecido si tu mismo realizas un fichero para un 16f88 por ejemplo , de como harias ese pulsador de on off ,
lo que deseo es que al pulsar el boton , se pare estando en cualquier punto del programa , y al volver a pulsar el mismo boton un reset o dirigir a la " bandera " etc , el problema principal es que tengo un momento de programacion en el que entro en un delay de 240 segundos , en ese momento para leer el pulsador lo que se me a " ocurrido " es poner una interrupcion en un boton cualquiera , al realizar la interrupcion para todo , y se queda en un loop esperando volver con un reset();

si deseas puedo rescrivirte todo el programa a flow 4 ...

muchas gracias a todos por enseñarme ...