Pic 16f690
Moderator: Benj
Pic 16f690
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 ....
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 ....
Last edited by navarro on Wed Feb 22, 2012 1:09 pm, edited 1 time in total.
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: Pic 16f690
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();
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();
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Re: Pic 16f690
muchas gracias por la velocidad de respuesta , como puedes leer con un reset() en c , no funciona
Como realizaria usted un pulsador on / off ??
Como realizaria usted un pulsador on / off ??
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: Pic 16f690
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.
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.
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Re: Pic 16f690
sorry , i'am translate de code for you , is better , mi inglish is bad (sorry , but better traductor)
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: Pic 16f690
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.
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
- arizawilmer
- Posts: 69
- Joined: Wed Oct 12, 2011 2:31 am
- Location: Australia
- Has thanked: 5 times
- Been thanked: 13 times
- Contact:
Re: Pic 16f690
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?

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
- 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
- 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
- arizawilmer
- Posts: 69
- Joined: Wed Oct 12, 2011 2:31 am
- Location: Australia
- Has thanked: 5 times
- Been thanked: 13 times
- Contact:
Re: Pic 16f690
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
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 ...
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 ...