Autor Tema: ¿Se puede usar la librería FAT de CCS en un Pic16F886?  (Leído 3947 veces)

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

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
¿Se puede usar la librería FAT de CCS en un Pic16F886?
« en: 29 de Abril de 2010, 08:54:35 »
Hola amigos.

Sigo adelante con mi proyecto de lectura y almacenamiento de datos en una tarjeta SD.

Gracias a vuestra ayuda anterior, ya tengo funcionando la parte de la lectura de los datos en una red RS485 y transmisión al Pic de almacenamiento.

El caso es que para almacenar los datos pensaba utilizar una tarjeta SD conectada mediante SDI al pic, un 16F886.

He intentado compilar el ejemplo ex_fat.c que viene con el compilador CCS, pero he tenido varios problemas.

En principio los buffers eran demasiado grandes, y el buffer de transmisión de la librería mmcsd.c también ya que MMCSD_MAX_BLOCK_SIZE estaba establecido en 512.
Lo he reducido a 64, así como los buffers de los comandos.

Con eso el programa compila, pero al final da un error 74: Not enough RAM for All variables.

El programa de ejemplo, parece desperdiciar bastante memoria en almacenamiento de los comandos, y de buffers, por lo que eso se podría reducir, pero....
¿Alguien ha conseguido usar la librería fat de CCS en un pic con poca memoria como el 16F886?

Me sería suficiente con poder abrir un archivo en el directorio raíz, escribir en él y cerrarlo, no necesito muchas opciones de navegación por directorios, etc.
« Última modificación: 29 de Abril de 2010, 21:07:49 por un Moderador, Razón: Se corrige título 18F a 16F »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: ¿Se puede usar la librería FAT de CCS en un Pic18F886?
« Respuesta #1 en: 29 de Abril de 2010, 12:04:11 »
No, no se puede!


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

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
Re: ¿Se puede usar la librería FAT de CCS en un Pic18F886?
« Respuesta #2 en: 29 de Abril de 2010, 15:31:48 »
Jo, pues que faena.... yo que me las prometía felices al poder almacenar los datos en una memoria sd sin más...
¿Y la librería mmcsd funciona?
Por que ya que no lo puedo usar como sistema de ficheros, por lo menos si puedo guardar en ella los datos en raw, aunque no pueda leerla en el PC sin más me podría servir.

Claro que buscando en este magnífico foro, he encontrado que existe un chip y una tarjetita que permiten conectarse con el pic por i2c, rs232 y SPI para almacenar los datos en una tarjeta SD, con lo que me podría servir.

Puede ser una solución, ya que en este momento no me puedo plantear el cambio a un pic de características más avanzadas.
¿Lo habéis usado?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: ¿Se puede usar la librería FAT de CCS en un Pic18F886?
« Respuesta #3 en: 29 de Abril de 2010, 17:59:59 »
Utilizar escritura y lectura de sectores puede llegar a realizarse, hay que modificar un par de cosas. Ahora utilizar FAT en un micro 16F lo veo imposible  :mrgreen:

Utiliza un 18F y listo  :mrgreen:


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

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
Re: ¿Se puede usar la librería FAT de CCS en un Pic16F886?
« Respuesta #4 en: 30 de Abril de 2010, 04:36:33 »
Bueno, pues gracias por la respuesta.

Por desgracia a estas alturas no puedo pensar en cambiar a un pic 18xxx.
Supondría demasiados cambios (si no me equivoco su nivel de tensión es de 3v ¿no?) no tengo ni programadora.
Y el prototipo tenemos que ponerlo a funcionar ya.

He visto el tema de una tarjeta con el chip uALFAT que me puede servir para salir del escollo y poder escribir los datos en una tarjeta SD.

Luego ya nos plantearemos otras soluciones "más definitivas".

Mi experiencia con pics es muy escasa.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: ¿Se puede usar la librería FAT de CCS en un Pic16F886?
« Respuesta #5 en: 30 de Abril de 2010, 08:21:33 »
Equivocado.

La linea PIC18F va desde 2 a 5 volts, la que es esclusiva de 3 volts es la linea PIC18LF.
Respecto al PIC16F886 creo que eligiendo bien encontraras uno de estos PIC18F que lo reemplaza con creces, dandote memoria lineal (no paginada) mucha mas RAM, ROM y generalmente tambien mas EEPROM.
Por lo que veo el 886 tiene un buen oscilador interno, por lo tanto puedes usar dos pines mas , pero la tendencia es que todos los PIC nuevos lo tengan.

Yo no dudaria en el cambio, si mi programador lo soporta, especialmente en una aplicacion exigente como la que te propones... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
Re: ¿Se puede usar la librería FAT de CCS en un Pic16F886?
« Respuesta #6 en: 30 de Abril de 2010, 08:35:56 »
Pues muchas gracias por tu respuesta y por la información.

Como podéis comprobar, mi experiencia con los pics es muy muy reducida.
Por eso me hago un lio tremendo.
Hace años hice alguna cosita con un pic 16F876, pero algo sencillito.

El problema que tengo es que tengo muy poquito tiempo.
De aquíe a 15 días tengo que tener los prototipos funcionando.
Cambiar ahora a un pic18 seguro que me supone algún problema y no podría tener las cosas a tiempo.

Como he encontrado la placa de uALFAT, voy a probar con ella, ya que (aunque es cara) me puede arreglar la papeleta.
Para el prototipo no me preocupa que salga algo más caro.

Pero como dices, en cuanto pase este apurón, me meteré a buscar un pic18 que pueda ser más adecuado, y probaré a montar ése pic con tarjete SD y la librería FAT.

Hace un mes habíamos probado con un pic 18 y me encontré con el tema de que se alimentaba a 3V (uno de los que tenían conector USB, de la serie J).
Por eso pensé que rean de 3V.
Esto pasa por no leer bien las especificaciones y andar con prisas.

En cuanto me pase este apurón, me pondré con lo de buscar el pic 18 adecuado para sustituir al 16F886.
Seguro que las ventajas son muchas (además creo que tenían más de un punto de interrupción ¿no? con lo que la depuración será más sencilla).


 

anything