TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: letxu2 en 20 de Junio de 2006, 15:18:46

Título: Realizar una funcion de retardo
Publicado por: letxu2 en 20 de Junio de 2006, 15:18:46
Hola a tod@s! Estamos intentando realizar una función que realice un retardo de 1 min EN C (importante..jeje). El pic utilizado es el 30F6014. Hemos conseguido hacer una chapucilla con "asm ("nop");" y muchos whiles encadenados pero el buffer se desborda y solo conseguimos que haga un retardo de 0'5 segundos (y con unos 15 nop uno detras de otro...). ¿No hay alguna funcion o instruccion definida ya?¿Alguien ha hecho algo parecido sin utilizar sleep?

Muchas Gracias  :)
Título: Re: Realizar una funcion de retardo
Publicado por: astoroth_ en 20 de Junio de 2006, 19:26:16
Yo lo haría utilizando macros de la siguiente forma:

Código: [Seleccionar]
#define nop() {Nop();} //Nop() defined in p30f4011.h
#define nop2() {nop();nop();} //2 "no operation" instructions
#define nop3() {nop2();nop();} //3 "no operation" instructions
#define nop4() {nop2();nop2();} //4 "no operation" instructions
#define nop5() {nop2();nop3();} //5 "no operation" instructions
#define nop10() {nop5();nop5();} //10 "no operation" instructions
#define nop20() {nop10();nop10();} //20 "no operation" instructions
#define nop40() {nop20();nop20();} //40 "no operation" instructions

Un saludo

Javio
Título: Re: Realizar una funcion de retardo
Publicado por: Deimos en 08 de Septiembre de 2006, 08:54:49
Sería interesante que indicases el valor del cristal de cuarzo que estás empleando como oscilador, para dar una idea de la velocidad a la que trabaja, y poder programar un timer para que te realice el retardo.
Título: Re: Realizar una funcion de retardo
Publicado por: vszener en 08 de Septiembre de 2006, 12:53:30
¿Qué compilador usas?


Suerte!!! :wink:
Título: Re: Realizar una funcion de retardo
Publicado por: pker en 24 de Octubre de 2006, 17:19:33
yo cre que lo mejor para relizar una funcion de retardo es usar varios ciclos FOR anidados y asu seia mas independiente del compilador que uses
Título: Re: Realizar una funcion de retardo
Publicado por: vszener en 27 de Octubre de 2006, 10:27:20
Decía lo del compilador, porque normalmente suelen traer dicha funcion de retardo incorporada.


Suerte!!! :wink: