TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: novato_todo_pic en 29 de Noviembre de 2017, 11:31:27
-
HOla, quiisiera comentar mi problema al intentar activar y desactivar el timer 2 desde una rutina. Mi proyecto consiste en un bit de salida en estado alto el cual ante un evento determinado se llame a una rutina quien activa un timer y su interrupcion, en la misma rutina se pone el bit en estado bajo y se hace que el timer actue de temporizador hasta que cumplido su tiempo se llama a la interrupcion del timer quien hace que el bit de salida vuelva al estado alto , antes de salir de esta interrupcion se desactiva el timer y su interrupcion hasta nuevo aviso . La idea es que ante un evento determinado un bit encendido sea apagado y se active el temporizador, una vez cumplido el tiempo se vuelva a encender el bit y quede "fuera de servicio" el timer y su interrupcion. Solo he podido lograrlo la primera vez , apagando el bit por un tiempo determinado, pero ya la segunda , tercera y demas veces el bit no vuelve a apagarse. Se me hace que el timer no vuelve a activarse, lo que no entiendo porque sucede.
PD: El proyecto esta hecho en Niple
-
Hola. Te recomiendo que subas lo hecho y el archivo de simulación si lo tubieses, así lograrías mejor y más rapida respuesta a tu interrogante. Recuerda siempre que quienes te ayudarán tienen otras cosas por hacer, por lo que si minimisas el lapso que deba invertir en tu respuesta hará que le sea más probable el hacerlo. Un abrazo.
-
Comparto la afirmación de lo expresado por Santiago.
Además leyendo tu explicación no me ha quedado nada claro ni de lo que pretendes, ni como lo has realizado.
Sobre todo en lo que indicas de que una vez dentro de la interrupción ya que ha saltado el evento(y por tanto ya estas en una interrupción) indicas que se vuelva a llamar a la interrupción.
Basicamnete lo que interpreto es que lo quieres es:
La idea es que ante un evento determinado un bit encendido sea apagado y se active el temporizador, una vez cumplido el tiempo se vuelva a encender el bit y quede "fuera de servicio" el timer y su interrupcion.
Luego dices que solo has podio una vez y que después ya no has podido apagarlo mas veces. Pero si lo que quieres, según tu explicación es que una vez que se ha disparado ya se quede bloqueado y fuera de servicio, es lógico que no te vuelva a apagar el bit.
No sé hay algo que no me suena.
F.
-
Hola, gracias por responder. Les comento que todo estaba bien la subrutina , el timer y la interrupcion. Lo que sucedio es que como el evento era un pulsador , se me paso por alto el efecto rebote, una vez que le di un retardo de 30 ms. todo funciono OK.
-
Bien!!!?