Autor Tema: Realizar una funcion de retardo  (Leído 2492 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado letxu2

  • PIC10
  • *
  • Mensajes: 10
Realizar una funcion de retardo
« 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  :)

Desconectado astoroth_

  • PIC10
  • *
  • Mensajes: 20
Re: Realizar una funcion de retardo
« Respuesta #1 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

Deimos

  • Visitante
Re: Realizar una funcion de retardo
« Respuesta #2 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.

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Realizar una funcion de retardo
« Respuesta #3 en: 08 de Septiembre de 2006, 12:53:30 »
¿Qué compilador usas?


Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado pker

  • PIC10
  • *
  • Mensajes: 2
Re: Realizar una funcion de retardo
« Respuesta #4 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

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Realizar una funcion de retardo
« Respuesta #5 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:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte