Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

24/08/2012 #1


tiempo para pulsar tecla
Hola tengo un while que espera a que se pulse un boton para poder continuar con el codigo, mi pregunta es como puedo hacer para que esta espera tenga un tiempo, es decir, que si no se pulsa el boton a los 5 segundos de haber entrado en el bucle se salga del programa.

Este es el bucle al que me refiero:

while (RA4==0){
}
24/08/2012 #2

Avatar de Gudino Roberto duberlin

Hola Amigo, bueno dentro del bucle while, debes generar un incremento de variable, si la misma alcanzo el valor estipulado, es porque alcanzamos el TIMEOUT, luego haces un llamado de una interrupcion o un salto de linea.
ejem:

inicio bucle
if DATO> X then goto sigue programa ' X= valor tiempo de espera
DATO=DATO+1
'quizas sea necesario generar una pausa '

fin bucle

sigue programa:
DATO=0
24/08/2012 #3


Gracias por la respuesta rapida, pero hay alguna forma de saber cuanto dura ese tiempo? por ejemplo, yo se que con delay_ms(miliseg); dura el tiempo que yo quiero, ahora como controlo el tiempo en este caso?
24/08/2012 #4

Avatar de Gudino Roberto duberlin

Bueno aprox. divides los 5" de espera, por el tiempo del delay, en las pruebas veras que debes disminuir algo ese valor que es el tiempo que demora el procesador en barrer un ciclo de while.
25/08/2012 #5


Yo configuraría el Timer 0 con una interrupción, y así mides el tiempo sin tener que ocupar el micro
25/08/2012 #6


Hola, como dice rachelies, mide el tiempo con un temporizador que salte cada x ms.

Divide el tiempo que quieres por x y lo que te de, lo inicias en una variable y lo usas en el while. Ej:
veces=670
while (veces > 0) { lo que sea }

En la rutina de interrupción, descuentas uno a veces (veces--) y restauras el temporizador, lo arrancas de nuevo y vuelves de la misma.

Este sistema además no te para el código del bucle como haría sleep o delay
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.