TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Lu29 en 24 de Diciembre de 2013, 10:08:14

Título: Configuracion cristal interno/externo pic18f4550
Publicado por: Lu29 en 24 de Diciembre de 2013, 10:08:14
Muy buenas, soy nuevo en el foro y también en esto de los pics y necesitaba vuestra ayuda para entender varias cosas sobre los cristales internos/externos con un pic18f4550 y con el compilador CCSC.
Estado usando el buscador del foro ya que tenia un programa bien simple de apagar y encender un led con el pic18f4550 usando el reloj interno y el delay de 1s que le puse lo hacia en 4s.
He visto en otro tema que usando los fuses:

INTRC_IO y el setup_oscillator(OSC_8MHZ|OSC_INTRC);

el problema se soluciona y el led parpadea en un segundo.
Mi pregunta es que en el pdf del pic18f4550 viene esto:
(http://i.imgur.com/qeuWWet.png)

Yo entiendo aquí que el INTRC no puede darme mas 31khz por eso creía que debería usar INTHS para poder usar los 8Mhz.
Por eso no entiendo porque se usa INTRC.

También querría saber entonces que significan INTHS y INTXT no exactamente que quiere decir en el pdf porque esta en ingles.

Y ya por ultimo tengo la placa con un cristal externo de 4mhz y usando el fuse XT y #use delay(clock=4000000) no me hace caso y usa el interno, además acaba pasando lo de mas arriba que le digo que led parpadee cada segundo y lo hace cada 4 segundos.

Un saludo y muchas gracias por su ayuda.
Felices fiestas.
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: ppyote en 24 de Diciembre de 2013, 10:44:03
para cristal externo usa setup_oscillator(OSC_NORMAL); e incluye en los fuses XT, solo te falta poner el use delay(clock=4000000);
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: Lu29 en 07 de Enero de 2014, 10:11:00
para cristal externo usa setup_oscillator(OSC_NORMAL); e incluye en los fuses XT, solo te falta poner el use delay(clock=4000000);

Muchas gracias por aclararme la primera duda, haber si alguien me puede ayudar con las otras dos dudas.
un saludo
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: rivale en 07 de Enero de 2014, 11:44:32
Yo entiendo aquí que el INTRC no puede darme mas 31khz por eso creía que debería usar INTHS para poder usar los 8Mhz.
Por eso no entiendo porque se usa INTRC.

También querría saber entonces que significan INTHS y INTXT no exactamente que quiere decir en el pdf porque esta en ingles.

Y ya por ultimo tengo la placa con un cristal externo de 4mhz y usando el fuse XT y #use delay(clock=4000000) no me hace caso y usa el interno, además acaba pasando lo de mas arriba que le digo que led parpadee cada segundo y lo hace cada 4 segundos.


El oscilador interno te permite usar hasta 8MHz, para velocidades mayores neceistas un cristal externo, en CCS solo necesitas el INTRC para configurar el cristal interno y en #use delay especificas la velocidad que deseas, para usar un cristal externo cambias tu fuse por XT o HS dependiendo el caso.

Saludos
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: BrunoF en 07 de Enero de 2014, 15:53:46
Con 4Mhz desde un cristal externo podrías, mediante el USB Clock Source, lograr hasta 48Mhz de velocidad de clock para el CPU. También podrías lograr 32,24 y 16Mhz cambiando el PLL Postscaler.

Saludos.
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: Lu29 en 14 de Enero de 2014, 17:25:31
Muchas gracias por las respuestas pero todabia no tengo resuelto mis dudas.
No se cuando deberia usar INTHS ni INTXT.
Y lo mas importante en la imagen que he puesto la red RC no pueda darme mas de 31khz entonces no entiendo porque se debe poner INTRC
Un saludo
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: rivale en 14 de Enero de 2014, 17:41:12
Muchas gracias por las respuestas pero todabia no tengo resuelto mis dudas.
No se cuando deberia usar INTHS ni INTXT.
Y lo mas importante en la imagen que he puesto la red RC no pueda darme mas de 31khz entonces no entiendo porque se debe poner INTRC
Un saludo

El osc interno si te puede dar mas de 31Khz, pero el micro tiene 2 osciladores, uno es un circuito RC, el cual esta fijo a 31KHz y el otr es un cristal, el cual es de 8MHz, si escojes el RC tu frecuencia será de 31KHz, en cambio si escoges el cristal tienes 8MHz que puedes pasar por un divisior, el cual te entrega fracciones de 8, como se muestra en tu imagen.

En cuanto a la configuracion, depende del lenguaje en el que programes es la sintaxis para elegir tu reloj.

Espero aclararte un poco mas la idea del oscilador, si no es así puedes decirlo e intentare explicarlo de otra manera

Saludos
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: Lu29 en 16 de Enero de 2014, 17:15:51
Muchas gracias por las respuestas pero todabia no tengo resuelto mis dudas.
No se cuando deberia usar INTHS ni INTXT.
Y lo mas importante en la imagen que he puesto la red RC no pueda darme mas de 31khz entonces no entiendo porque se debe poner INTRC
Un saludo

El osc interno si te puede dar mas de 31Khz, pero el micro tiene 2 osciladores, uno es un circuito RC, el cual esta fijo a 31KHz y el otr es un cristal, el cual es de 8MHz, si escojes el RC tu frecuencia será de 31KHz, en cambio si escoges el cristal tienes 8MHz que puedes pasar por un divisior, el cual te entrega fracciones de 8, como se muestra en tu imagen.

En cuanto a la configuracion, depende del lenguaje en el que programes es la sintaxis para elegir tu reloj.

Espero aclararte un poco mas la idea del oscilador, si no es así puedes decirlo e intentare explicarlo de otra manera

Saludos

Muy buenas, no termino de entenderlo del todo. El lenguaje uso el CCSC.
Lo que no entiendo es porque en CCSC se debe poner INTRC, porque por su nombre se da a entender que vas a usar el interno RC. Supongo que sera cosa de los de CCSC.
Y lo otro es en CCSC cuando se debe usar INTHS y INTXT.

Otra pregunta que tiene que ver con el tema pero por no abrir otro hilo parecido, ahora esto con un pic18f4620 y quiero usar el reloj interno y lo configuro exactamente igual que el pic18f4550 pero no me funciona.
Un saludo y gracias rivale por intentar aclararme las dudas.
Título: Re: Configuracion cristal interno/externo pic18f4550
Publicado por: rivale en 16 de Enero de 2014, 17:22:59
ya me imaginaba, la confusión la crea ccs, en efecto ccs usa el fuse intrc para configurar el reloj interno, el problema es que no utiliza el RC, simplemente le pusieron ese nombre al fuse(no se porque). pero en ccs puedes configurar el RC o el oscilador interno con este fuse
y la frecuencia se la indicas usando el fuse

#use delay(clock=xxxxx)


en cuanto a tu otra pregunta, en ccs no existe el fuse inths o intxt, para configurar un cristal externo los comandos son simplemente
XT o HS.


podrias poner tu código del 4620 para revisar que podría ser el error

Saludos