Ver Mensaje Individual
  #17  
Antiguo 04-10-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Reputación: 17
donald shimoda Va por buen camino
Cita:
Empezado por JoseFco Ver Mensaje
En pocas palabras una rutina de retardo es gastar tiempo, mandando al procesador a hacer algo donde contamos el tiempo que se demora en hacerlo y teniendo la forma de que salga de esa rutina (loop) en el tiempo que deceamos.En un CPU,MPU,etc. no existe decirle duermete y despierta cuando el reloj despertador te de la orden. Eso de Sleep (1000) solo es una forma de programar, al final el CPU solo lo mandamos a dar unas cuantas vueltas detro de una rutina y al final de el numero de vultas que se le asigno el tipo sale.
Estimado Jose, para eso existen los timers. Le indicas al timer del microcontrolador que interrumpa cada una determinada cantidad de ticks , el tiempo que deseas esperar, asignas una rutina de interrupcion que haga lo que tiene que hacer cuando se produzca la iterrupcion. El uC continua sus tareas y al llegar el contador al tick indicado el timer interrumpe en ese tock, ni uno mas ni un o menos, asegurandote que paso el tiempo exacto necesario.

De esta manera no envias al micro a esperar sin hacer nada, sino que se aprovecha productivamente cada ciclo de la cpu.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita