TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: polo1984 en 22 de Marzo de 2007, 14:41:20
-
hola!
tengo una duda que no se si se podra realizar. Necesito un cristal de 4 Mhz (ya se que se pueden comprar en cualquier tienda de elctronica) y estoy usando uno de 10MHz, ¿¿puedo poner algun tipo de preescaler en CCS para que el cristal funcione como uno de 4Mhz??
Un saludo y gracias
-
hola!
tengo una duda que no se si se podra realizar. Necesito un cristal de 4 Mhz (ya se que se pueden comprar en cualquier tienda de elctronica) y estoy usando uno de 10MHz, ¿¿puedo poner algun tipo de preescaler en CCS para que el cristal funcione como uno de 4Mhz??
Un saludo y gracias
No.
El clock lo tendrás por hardware, tu problema será de hardware. CCS no tiene nada que hacer con este problema.
-
no entiendo tu duda se supone que cuando te genera el archivo XXXX.h tienes una linea que pone #use delay(clock=20000000) hay pones la frecuencia de tu cristal en el caso del ejemplo son 20Mhz segun como hayas hecho tu programa esto no afectará a tu programa ya que los delay_ms(XXX); los va a respetar, puedes tener problemas con dispositivos externos pero todo es mirarlo, no tiene por que darte mayores problemas creo y digo CREO jejejej un saludo
-
Como muy bien ha comentado el amigo maunix es problema de hardware. Los prescaler te servirán para regular los Timer/Counter y el watchdog. Pero el ciclo de trabajo del micro si le pones un cristal de 10MHz será mucho más corto que un ciclo de trabajo con un cristal de 4Mhz.
Saludos!
Diego J.
-
yo una vez me equivoque y declare un delay clock que no era el del cistal , y cambiaron los tiempos de ejecucion...
-
yo una vez me equivoque y declare un delay clock que no era el del cistal , y cambiaron los tiempos de ejecucion...
Cambiaron las demoras. Es decir, por ejemplo
Si tu usabas un clock de 4 MHz y le dijiste que tenias un clock de 8MHz
Cuando haces Delaymseg(n); , el CCS genera retardos de 2000 instrucciones n veces ya que a 8MHz el Tinstruccion = 0.5useg x 2000 = 1 mseg.
Al colocarle un clock de 4Mhz, lo que provocaste es que ese bucle de 2000 instrucciones se ejecute en 2mseg y no en uno solo, pero de ninguna forma puedes , una vez colocado un clock, alterar el valor del cristal.
En los pics con oscilador interno programable la historia es diferente... pero bueno, eso es otra historia que merece un capítulo aparte. :)