Autor Tema: Calibracion del oscilador interno PIC12F629  (Leído 2908 veces)

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

Desconectado jalei

  • PIC10
  • *
  • Mensajes: 4
Calibracion del oscilador interno PIC12F629
« en: 07 de Agosto de 2014, 12:37:29 »
Hola amigos,

Soy nuevo tanto en el foro como en el apasionante mundo de los microcontroladores. Estoy empezando en esto con el PIC 12F629, y por el momento consigo hacer cosas super basicas, principalmente en MikroC, ya que no me he puesto en serio con ensamblador (aunque conozco algunas instrucciones basicas).

El caso es que usando en MikroC la funcion Delay_ms(5000), que supuestamente temporiza 5 segundos, me doy cuenta de que probando varios PIC, cada uno hace una cosa (todos entre 4 y 4.5 segundos aproximadamente, y solo alguno se acerca a los teoricos 5 segundos). Se que en la ultima posicion de la memoria de programa FLASH esta el valor de la calibracion, pero tengo una duda que supongo que es de principiante. He buscado en el foro y he encontrado cosas sobre este tema tan hablado, pero no resuelven mi duda, por lo que queria exponerla aqui a ver si alguien me podia ayudar.

Por lo que he entendido, tienes guardada en la memoria de programa FLASH el valor, pero nada mas iniciar el programa has de leerlo y cargarlo en el registro OSCCAL. El caso es que no se como leer el valor de una posicion concreta de la memoria FLASH de programa con MikroC. Como he buscado en la ayuda del compilador y tampoco he llegado a encontrar nada, he probado a meter un trozo de codigo en ensamblador nada mas empezar el programa, usando asm {}, pues en ensamblador es facil leer el ultimo valor de la memoria de programa con la funcion call para luego meterlo en OSCCAL. Pero tampoco he tenido suerte, ya que al compilar me sale un monton de errores relativos a que el compilador no entiende lo que he puesto en ensamblador...

¿Alguien me podria ayudar? Muchas gracias.

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 214
Re: Calibracion del oscilador interno PIC12F629
« Respuesta #1 en: 07 de Agosto de 2014, 13:50:57 »
Tengo la mísma duda... pero con PIC-C CCS, encontre en el help que al momento de compilar pues lee ese valor pero nunca dijeron de anotarlo por algún lugar, será que basta con poner en los encabezados:

#rom 0x3FF={0x48}  //en mi caso

O habra que cargar esa posición de memoría (registro) explicitamente, aun siendo CCS?

Desconectado jalei

  • PIC10
  • *
  • Mensajes: 4
Re: Calibracion del oscilador interno PIC12F629
« Respuesta #2 en: 08 de Agosto de 2014, 05:23:50 »
Tengo la mísma duda... pero con PIC-C CCS, encontre en el help que al momento de compilar pues lee ese valor pero nunca dijeron de anotarlo por algún lugar, será que basta con poner en los encabezados:

#rom 0x3FF={0x48}  //en mi caso

O habra que cargar esa posición de memoría (registro) explicitamente, aun siendo CCS?

Ya lo tengo resuelto, en mi caso (mikroC) no se porque antes me daba error al compilar pero ahora me compila bien y al grabar el microcontrolador ya me temporiza correctamente. Ahora los Delay_ms(5000) son 5 segundos exactos, al menos segun el metodo que uso para medirlo, que es tan rudimentario como usar un cronometro de mano  :lol:


 

anything