Autor Tema: Duda sobre DELAYS  (Leído 2325 veces)

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

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Duda sobre DELAYS
« en: 10 de Octubre de 2010, 04:17:04 »
Hola!!! como andan?

Bueno, les comento que estoy desarrollando un programa donde debo cambiar de oscilador en el medio de la ejecucion, osea, arranco a 48mhz con pll y luego paso a RC interno a 16mhz con 18F2550. El problema, es que al inciar el programa, esta definido el USE_delay(48000000), pero cuando cambio al oscilador interno, todos los delay duran 3 veces mas... intende nuevamente colocar USE_delay(16000000) luego de cambiar al oscilador interno, pero no paso nada...

algun consejo???

graccias! :g)

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Duda sobre DELAYS
« Respuesta #1 en: 10 de Octubre de 2010, 11:00:48 »
La solución más sencilla que se me ocurre es hacer USE_delay(16000000). Y en la parte que estás trabajando a 48MHz llamás tres veces a las rutinas de delay que necesites y luego cuando estás trabajando a 16MHz sólo la llamás una vez.

---------------

//aca trabajo a 48MHz

delay (1seg)
delay (1seg)
delay (1seg)  //lo llamo 3 veces para lograr 1 seg

....
....
....

//aca trabajo a 16MHz

delay (1seg) //lo llamo sólo una vez
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Duda sobre DELAYS
« Respuesta #2 en: 10 de Octubre de 2010, 11:41:15 »
Ese es un problema de usar CCS  :? Como use_delay lo utiliza en el momento de compilar y crear las demoras, no te quedará otra que hacer lo que dice AngelGris  :shock:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Duda sobre DELAYS
« Respuesta #3 en: 12 de Octubre de 2010, 02:51:39 »
Alguna vez intenté colocar el use delay a 4 luego a 8 y luego a 1 en cada bloque de código. La verdad no recuerdo si funcionó (eso fue antes mover directamente el OSSCON).
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee


 

anything