TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores 8 bits => Mensaje iniciado por: JCAK en 11 de Octubre de 2010, 21:55:58

Título: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 11 de Octubre de 2010, 21:55:58
Amigos ...

Me he pasado el fin de seman largo mirando el sol por la ventana, envidiando a quienes lo ha podido disfrutar mientras yo, de puro capricho por querer verlo funcionar, hacia pruebas con mi memoria SD/MMC
El resultado no es del todo lo que esperaba ... pude hacer andar bien estos dos ejemplos, especialmente el segundo me parece menos pretencioso pero mas interesante.

http://www.dharmanitech.com/
http://www.roland-riegel.de/sd-reader/index.html

Ocurre que yo no necesito TODO ese despliegue de funciones y chiches, yo solo quiero leer el contenido de un archivo TXT, tomar caracter por caracter, compararlo contra una tabla y mandarlo a un display. Es decir, el display escribe lo que contiene el TXT

Con estas pruebas pude leer el contenido, pero la pregunta es si alguien tiene los pasos basicos, los minimos que hacen falta para lograr esto sin tener que ponerme a recortar el codigo que les he mencionado. Estoy usando un Atmega32

Agradecido como siempre

Julio
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: jonathanPIC888 en 12 de Octubre de 2010, 00:53:53
La verdad que esos ejemplos son de lo mejor que hay en la red ...lo mejor va ser que adaptes los códigos a tus necesidades...algo que no veo demasiado complejo con algo de paciencia  :-/
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 12 de Octubre de 2010, 20:03:32
yo ya probe un atmega32 leyendo SD fat32/16 pero lo ise con las librerias de "chan" con iar avr.
Con bascom es mas facil pero un atmega32 le queda corto en memoria  ("2KB") pero en flash solo consume 6KB. 
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 13 de Octubre de 2010, 19:39:12
jonathanPIC888

Hoy me dipongo con paciencia a ver si recorto estos codigos, pero antes quiero ver si puedo hacer andar el PetitFAT que es una maravilla china super compacto, pero bue ... parece escrito en chino por lo complicado de entender.

Si alguien quiere acercar una mano con alguna otra sugerencia siempre es bienvenido.

Saludos y gracias
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: jonathanPIC888 en 14 de Octubre de 2010, 15:59:51
Hola mirá el usuario Suky de este foro escribió una librería para el manejo de FAT16 muy optimizada para consumir lo menos posible de RAM y ROM. La librería está hecha para CCS...pero con un poco de maña la podés portar a GCC o el compilador de C para AVR que sepás usar.
Saludos !
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: ma4826 en 14 de Octubre de 2010, 18:30:57
jonathanPIC888

Hoy me dipongo con paciencia a ver si recorto estos codigos, pero antes quiero ver si puedo hacer andar el PetitFAT que es una maravilla china super compacto, pero bue ... parece escrito en chino por lo complicado de entender.

Si alguien quiere acercar una mano con alguna otra sugerencia siempre es bienvenido.

Saludos y gracias

¿Es la Petit Fat de elm-chan?
Si es así para probar la librería hice un pequeño reproductor de wav con un mega16, espero que te sirva de referencia.
http://www.4shared.com/file/inWA1-uN/MEGA16_PB_AUDIO_sb_tdp20101014.html (http://www.4shared.com/file/inWA1-uN/MEGA16_PB_AUDIO_sb_tdp20101014.html)

Saludos,

ma4826
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 15 de Octubre de 2010, 02:02:46
Las librerias de Suky tiene errores de  en C. El CCS es muy tolerante no da error pero en iar, winavr, icc  sale una lista larga errores y eso que una libreria para C. No se si mejoro ultimamente pero ya que lo deje de usar.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: Suky en 15 de Octubre de 2010, 09:17:21
Las librerias de Suky tiene errores de  en C. El CCS es muy tolerante no da error pero en iar, winavr, icc  sale una lista larga errores y eso que una libreria para C. No se si mejoro ultimamente pero ya que lo deje de usar.

Buenas!  :mrgreen: La compile en CSS, C18 y C32. En avr no la he probado  ;-) Yo le voy a echar un ojo a las Petit FAT para ver que consumo de recursos tiene.  :)
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: RICHI777 en 15 de Octubre de 2010, 10:42:01
Hola,
Citar
Las librerias de Suky tiene errores de  en C. El CCS es muy tolerante no da error pero en iar, winavr, icc  sale una lista larga errores y eso que una libreria para C. No se si mejoro ultimamente pero ya que lo deje de usar.

También cabria la posibilidad de que mejoren IAR, WINAVR e ICC, muchos compiladores dicen ser ANSI C pero no lo son. Valoro el esfuerzo de Suky que desarrollo algo que no es trivial y lo publico para que todo el mundo lo pueda usar. Hubiese sido muy interesante que publiques los errores, de esta manera se podría llegar a corregir para que sea mas universal y compilador independiente.

Saludos !
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 15 de Octubre de 2010, 16:22:09
HOLA y GRACIAS por todo lo que aportan ...

Estoy probando y recortando una mezcla de cosas, lo utlimo es agarrar algo hecho con lo de CHAN, debaguearlo por RS232, entenderlo, arreglarlo y creo que para este fin de semana lo tengo.

Pero encontré algo que quiero compartir con ustedes, que si bien esta basado en PIC, todo lo que tiene que ver con el C para leer las SD/MMC es exactametne lo mismo. Usa la libreria de CHAN y está bastante clarito.

El foro con todo el paso a paso es el siguiente
http://www.electronicslab.ph/forum/index.php/topic,17055

El link para bajar el Source es:
http://www.4shared.com/file/4yzVDyrd/PIC18_Petit_FAT_File_System.html


Saludos

Julio
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: RICHI777 en 15 de Octubre de 2010, 16:37:47
Hola, también tenes esta ( que hice yo :P ) te paso el link, si el AVR es little endian tendrias que ajustar una macro.

https://sourceforge.net/projects/microfs/

Saludos !
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 15 de Octubre de 2010, 23:43:56
Buen enlace ese ejemplo esta bien "Chan", se le agregaría una pequeña modificación para leer archivos txt mas grandes.
Ya lo probe en un atmega8 con proteus.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 16 de Octubre de 2010, 18:40:01
No logro hacer andar este ni otro codigo similar .... ¿quien me ayuda?

Ya probé varios códigos, pero vengo mal ... un par de ellos he logrado que lean la memoria, por lo que supongo que está bien conectada.
Estoy trabajando con un Atmegha32 a 16MHz, no se si la velocidad influye en mi problema, pero por las dudas les comento.
Las memorias que pruebo son de 512Mb y de 4Gb. Para conectarla uso los pines 5,6,7,8 del Atemga
Y estoy tratando de utilizar la libreria de CHAN porque pareceria ser la mas optimizada y desarrollada. En mi caso con la Petit FAT es suficiente.

Adapté todo al siguiente codigo para hacer un debug por el RS232, pero cuando llego a pf_opendir da error FR_NOT_ENABLED, aparentemente no encuentra nada y me manda el mensaje por el RS232 avisando que se quedó en ese paso ¿que es lo que esta mal, si es igual a los pasos que supuestamente funciona en otros ejemplos?

Alguien me ayuda a destrabarme ... ????

Código: [Seleccionar]
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <string.h>
#include <stdlib.h>
#include <util/delay.h>

#include "diskio.h"
#include "pff.h"
#include "UART_routines.h"

FATFS Fs; /* File system object */
DIR Dir; /* Directory object */
FILINFO Fno; /* File information */
WORD rb; /* Return value. */
BYTE buff[100];

void PORTS_Init(void)
{
// Set MOSI y SCK output
DDRB |= (1<<7)|(1<<5)|(1<<3)|(1<<2)|(1<<1)|(1<<0);
DDRD |= (1<<5)|(1<<4);
PORTB = 0x00;
SPCR = (1<<6)|(1<<4)|(1<<0);
//Inicializa Ports para la UART
PORTD = 0x00;
DDRD  = 0xFE;
}


int main (void)
{
BYTE i;

PORTS_Init();

//Inicializa UART para comunicación via RS232
uart0_init();


TX_NEWLINE;
TX_NEWLINE;

while(1){

_delay_ms(10);
TX_NEWLINE; //JK
transmitString_F(PSTR("Inserte Tarjeta"));
if (pf_mount(&Fs) ) continue; /* Initialize FS */
TX_NEWLINE; //JK
transmitString_F(PSTR("Inicializado"));
while(1){
if (pf_opendir(&Dir, ""))
TX_NEWLINE;
transmitString_F(PSTR("Error Opendir"));
break;
while (!pf_readdir(&Dir, &Fno) && Fno.fname[0]) {
_delay_ms(100);
if( strstr(Fno.fname, ".txt") ){ // TXT file
TX_NEWLINE; //JK
transmitString_F(PSTR("listando archivos ..."));

//TX_NEWLINE;
//transmitString_F(PSTR(Fno.fname));

if(pf_open(Fno.fname)) continue; // open file

if( strstr(Fno.fname, "BLANK") ){
codigo .....
}
else{
codigo .....
}
_delay_ms(5000);
}
}
}

}
}
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 16 de Octubre de 2010, 22:44:40
Primero tiene que funcionar la iniciacion de SD. Una prueba solamente disk_initialize() par ver si la configuracion del spi esta bien o el cableado falta algo.
Dependiendo del compilador FATFS, DIR se le declara como static.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 16 de Octubre de 2010, 23:24:04
Hola Cristian_elect

Acabo de encontrar en la libreria, una parte en donde se definen los pines del SPI, me he pasado horas de horas buscando un error en el código porque nunca vi estas lineas. Cuanto más miro el codigo mas me sorprende los disperso que estan los settings de algunas cosas. Que chino loco ... pero bue, lo quiero igual.
Ya por la hora que es voy a probar las modificaciones recién mañana, y obviamente luego les cuento.

Saludos
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 18 de Octubre de 2010, 01:09:20
Primero tiene que funcionar la iniciacion de SD. Una prueba solamente disk_initialize() par ver si la configuracion del spi esta bien o el cableado falta algo.
Dependiendo del compilador FATFS, DIR se le declara como static.

He probado por horas y no logro hacer andar esto .... ya los ojos se me achicharran...
POR FAVOR AYUDA !!!!!

Siguiendo con el codigo de Chan, por favor alguien que me ayude y me diga si para un Atmega32 este codigo dentro del mmc.h esta bien modificado.
No entiendo la diferencia que hace entre SS y CS, además solo definie MOSI pero no define MISO. Juro que me estoy volviendo loco frente a la compu.  :5]

Código: [Seleccionar]
#ifndef _MMC_H__
#define _MMC_H__

//SPI configuration (Platform dependent)
#define SPI_PORT PORTB
#define SPI_DDR DDRB
#define DD_MOSI 5
#define DD_SCK 7
#define DD_SS 6

// Defines for SD card SPI access
#define SD_CS_PORT   PORTB
#define SD_CS_DDR    DDRB
#define SD_CS_PIN    4

// Port Controls  (Platform dependent)
#define SELECT() SD_CS_PORT &= ~(1<<SD_CS_PIN)      /* MMC CS = L */
#define DESELECT() SD_CS_PORT |=  (1<<SD_CS_PIN)      /* MMC CS = H */

/*-----------------------------------------------------------------------*/
/* SPI interface                                                          */
/*-----------------------------------------------------------------------*/
void init_spi (void)
{
DESELECT(); // set default CS pin
SPI_DDR    = (1<<DD_MOSI) | (1<<DD_SCK); // set spi direction
// SPI_DDR    = (1<<DD_MOSI) | (1<<DD_SCK)| (1<<DD_SS); // set spi direction
SD_CS_DDR |= (1<<SD_CS_PIN);           // Turns on CS pin as output
     if (!(SPI_DDR & (1<<DD_SS))) // if SS is input
     SPI_PORT |= (1<<DD_SS); //   set internal pull up SS for spi master mode

SPCR   = (1<<SPE)|(1<<MSTR); // Initialize SPI port (Mode 0)
     SPSR   = (1<<SPI2X); // SPI double speed settings
}

BYTE rcv_spi (void)
{
SPDR = 0xFF;
loop_until_bit_is_set(SPSR, SPIF);
return SPDR;
}

/* Alternative macro to receive data fast */
#define rcv_spi_m(dst) SPDR=0xFF; loop_until_bit_is_set(SPSR,SPIF); *(dst)=SPDR

#define xmit_spi(dat) SPDR=(dat); loop_until_bit_is_set(SPSR,SPIF)

#endif

Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: ma4826 en 18 de Octubre de 2010, 09:34:26
En tu caso has conectado al CS de la SD en el Pin SS del mega por lo que coinciden.

Código: [Seleccionar]
#define DD_SS 4
Pero ese cambio no afecta al funcionamiento del trozo de código que has puesto.
Puedes probar a bajar la velocidad del SPI que ahora está al máximo (Fosc/2).

Saludos,

ma4826.



Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 18 de Octubre de 2010, 11:27:36
En tu caso has conectado al CS de la SD en el Pin SS del mega por lo que coinciden.

Código: [Seleccionar]
#define DD_SS 4
Pero ese cambio no afecta al funcionamiento del trozo de código que has puesto.
Puedes probar a bajar la velocidad del SPI que ahora está al máximo (Fosc/2).

Gracias ma4826

Sigue sin quedarme claro algo, a ver si me podes aclarar …

//SPI configuration (Platform dependent)
#define DD_MOSI      5   
#define DD_SCK      7   
#define DD_SS      6   

// Defines for SD card SPI access
#define SD_CS_PIN    4

Vos me confirmes que SD_CS_PIN va a PB4 (/SS del Atmel), pero mi duda es con DD_SS que yo asigne a PB6 (MISO)
Yo interpreto DD_SS como Slave Select, pero si lo interpreto así el MISO no tiene nada que hacer en ese lugar y para peor me quedaría sin asignar. Que significa DD_SS?

Algo más que debo probar como vos sugerís es lo de la velocidad. Estoy usando el micro a 16MHz, voy a cambiar la velocidad del SPI. ¿qué valor máximo soportan estas memorias?
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: RICHI777 en 18 de Octubre de 2010, 11:50:37
Hola, en la incialización la tarjeta debe ser servida con un clock por SPI de 100 a 400 Khz, una vez inicializada podes aumentar la velocidad. Hasta 8 Mhz a mi me funciono bien. Una de la cosas que nunca pude entender es que la frecuencia del SPI siempre debía ser potencia de 2, en otros valores la cosa se ponía inestable, nunca pude investigar a fondo por donde venia el problema si era problema del driver con la tarjeta o algun problema de hard.

Saludos !
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: ma4826 en 18 de Octubre de 2010, 13:07:25
 Los pines del SPI vienen fijados por hardware no los puedes elegir. Le dices que pines son el MOSI y SCK para ponerlos como salida en la inicialización, el MISO no hace falta porque por defecto arranca configurado como entrada. El único pin que puedes elegir es el que va conectado al CS de la SD, en este caso has cogido el PIN SS del mega.

Código: [Seleccionar]
    if (!(SPI_DDR & (1<<DD_SS))) // if SS is input
    SPI_PORT |= (1<<DD_SS); //   set internal pull up SS for spi master mode

 Para trabajar como maestro único tienes que poner el pin SS como salida o al menos asegurarte de que si está como entrada va a tener un nivel alto por eso la librería comprueba si el PIN_SS está configurado como salida y sino no lo está activa la pull-up, es para lo único que utiliza el valor de DD_SS. Porque si está configurado como entrada un nivel bajo en este pin interrumpe la transmisión, esto se usa cuando hay más de un maestro.

 Respecto a las velocidades es cierto lo que dice RICHI777, de hecho en la versión completa de la librería hace el cambio de velocidad.

 Saludos,

 ma4826.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 18 de Octubre de 2010, 13:15:35
No es nesesario definir mosi, miso, sck por que el hardware lo controla, solo defines el pin selector "SS" por que se activa por el programa.
SS atemega32 pin PB4.

#define SELECT()    PORTB &= ~16        /* MMC CS = L */
#define    DESELECT()    PORTB |= 16        /* MMC CS = H */

Pero si se configura SS, MOSI, SCK como salidas y MISO como entrada en DDRB=176 para atmega32.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 18 de Octubre de 2010, 23:46:58
Hola ma4826

Citar
Para trabajar como maestro único tienes que poner el pin SS como salida o al menos asegurarte de que si está como entrada va a tener un nivel alto por eso la librería comprueba si el PIN_SS está configurado como salida y sino no lo está activa la pull-up, es para lo único que utiliza el valor de DD_SS. Porque si está configurado como entrada un nivel bajo en este pin interrumpe la transmisión, esto se usa cuando hay más de un maestro.

A ver si entiendo ... Vos me queres decir que si pongo esto asi para el Atmega32, debería andar sin importar lo que ponga en DD_SS?
//SPI configuration
#define DD_MOSI      5
#define DD_SCK      7  
#define DD_SS      1   ------------------------- ¿acá puedo poner cualquier pin si solo tengo un Master? ¿puedo usar PB1 y no conectarle nada, queda en el aire?
// Defines for SD card SPI access
#define SD_CS_PIN    4

Y por ultimo hago como vos decis y el MISO teniendo en cuenta que esta en Master y queda como entrada, lo mando directo al pin 7 del SD/MMC

¿es asi?
Porque si es asi a mi no me anda. Cambie el cristal por uno de 8MHz y también dividi la velocidad del SPI para que no sea  mayor a 400KHz.

Algo que me este comiendo??? ¿que proponen?
Si tienen algo que me puedan enviar por privado por si no lo quieren postear, mil gracias. Como verán estoy haciendo mi mejor esfuerzo y leyendo de todo, pero no hay caso. Gracias, muchas gracias.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 19 de Octubre de 2010, 00:38:44
cristian_elect
No entiendo qué has querido explicar pero gracias igual.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 19 de Octubre de 2010, 00:41:25
Pon tu codigo para ver cual es el error.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 19 de Octubre de 2010, 00:42:45
Pon tu codigo para ver cual es el error.

Aqui va completo. Estoy compilando con Studio 4
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: ma4826 en 19 de Octubre de 2010, 06:59:23
Citar
A ver si entiendo ... Vos me queres decir que si pongo esto asi para el Atmega32, debería andar sin importar lo que ponga en DD_SS?
No SS esta fijo en el micro es el PB4
Código: [Seleccionar]
#define DD_SS      4El que puedes elegir el pin al que conectas el CS de la SD. En tu caso has conectado SS del mega al CS de la SD, por lo que el pin SS va estar configurado como salida.

¿Dónde falla? ¿Que devuelve disk_initialize()?
¿Cuál es el tamaño de la SD? ¿Es SDHC?

Saludos,

ma4826.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 19 de Octubre de 2010, 15:01:03
MA4826, por favor decime ¿esto deberia quedar así o como debe quedar?
Si alguien me dice como deben quedar, al menos no sigo pensando que el error puede estar en el cableado. Lo cual no creo pero todo es posible.
¿Cómo quedaría?


//SPI configuration
#define DD_MOSI      5
#define DD_SCK       7   
#define DD_SS        4

// Defines for SD card SPI access
#define SD_CS_PIN    4


Las memorias que tengo para probar son:
SanDisk   SD    512Mb
Kingston  SDHD  4Gb
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: ma4826 en 19 de Octubre de 2010, 15:40:18
Si, está bien.

¿Dónde falla? ¿Que devuelve disk_initialize()?

Saludos,

ma4826.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 19 de Octubre de 2010, 17:20:21
Ya bueno para dar una ayuda aqui dejo un ejemplo para atmega32.
Pero respondan siempre que doy una ayuda hay termina todo, no se comenta si a servido o hay un error o falto algo.
Por que en el otro forodeelectronica me parece cuando estan cerca de fin de ciclo todos preguntan como apurados esperando que le resuelvan la tarea ni se toman el tiempo de usar el buscador del foro.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 20 de Octubre de 2010, 00:06:45
Ya bueno para dar una ayuda aqui dejo un ejemplo para atmega32.
Pero respondan siempre que doy una ayuda hay termina todo, no se comenta si a servido o hay un error o falto algo.
Por que en el otro forodeelectronica me parece cuando estan cerca de fin de ciclo todos preguntan como apurados esperando que le resuelvan la tarea ni se toman el tiempo de usar el buscador del foro.

 :-/  :-/  :-/  :-/  :-/  :-/  :-/ :mrgreen:  :mrgreen:

Estoy infinitamente agradecido porque FUNCIONA !!!!
Lee la SanDisk 512Mb en FAT16 y también la Kingston 4Gb en FAT32
Lo he probado con el micro a 8MHz y con el terminal RS232 en Windows a 9600bps

Te comento un par de Warnings que arroja con el compilardor AVR Studio 4:
1) ../mmc_mega32.c:95: warning: pointer targets in passing argument 1 of 'mimprimir' differ in signedness
2) ../config_mmc_mega32.c:220: warning: implicit declaration of function 'putchar'

La ultima linea de Warning solo la arroja una vez, si vuelvo a compilar solo aparece la 1era.

Mil mil gracias Cristian
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 20 de Octubre de 2010, 22:52:35
Para crear archivo se usa la libreria full de chan.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 20 de Octubre de 2010, 23:34:40
Buscando otra cosa hoy encontré esta libreira para SD/MMC y para muchas otras cosas mas.
Quiero compartirla con ustedes:

Para SD/MMC
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/docs/html/group__mmc.html

Para otros dispositivos externos (LCD, Ethernet, EEPROM, I2C, etc.)
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/docs/html/modules.html

Si alguien ha experimentado con ellas y puede agregar algun comentario, seguro es util para todos.
¿Alguien comparó esta libreria para SD/MMC hecha por Pascal Stang vs. la de Chan?

Saludos
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 22 de Octubre de 2010, 01:16:42
Yo ya tengo esa libreria lo baje hace mas de un año funciona para winavr pero yo uso IAR, asi que no lo uso.
Tambien tiene mmc y fat pero esta tan completa como que tiene Chan.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: JCAK en 22 de Octubre de 2010, 12:11:27
Para crear archivo se usa la libreria full de chan.

Cristian, una consulta:
¿Tenés idea o probaste si se puede recortar de la libreria full la parte que permite crear archivos y agregarla a la liberia Petit?

La idea es no ocupar la memoria con la liberia full y solo agregar esa función que me resultaría muy util.

Gracias
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 23 de Octubre de 2010, 01:43:19
Atmega32 si alcanza para la libreria full, en la RAM si le queda poco.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: ma4826 en 23 de Octubre de 2010, 02:44:50
 Aquí tienes el consumo de flash y de memoria de la librería FatFS (Versión completa)

 http://elm-chan.org/fsw/ff/en/appnote.html (http://elm-chan.org/fsw/ff/en/appnote.html)

 El consumo de memoria con la opción (_FS_TINY = 1) no llega a 600 bytes con un archivo abierto y el ATMEGA32 tiene 2 KB. Y la librería te permite ajustar las funciones que quieres usar para ajustar en lo posible el consumo de flash.

 Saludos,

 ma4826.


 
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 23 de Octubre de 2010, 12:22:23
Ise un programa para grabar los valores ADC en SD en formato exel y me comsume 1750 Bytes, para hacer otras cosas le queda muy poca ram, agregre unas funciones de string y ya paso la ram. El compilador ya no permite.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: elotrogonzalo en 16 de Diciembre de 2012, 11:08:14
hola cristian_elect soy medio nuevo en el foro y estoy diseñando un equipo que necesita una sd y yo queria desde el micro tomar lecturas del adc y armar un TXT en la sd para luego leerlo en cualquier pc.....cual es la libreria full de chan que decias mas arriba? podrias subir esa libreria o con la que subiste con el nombre de fat_chico_mega32 puedo hacerlo?


"Para crear archivo se usa la libreria full de chan."

desde ya muchas gracias!

saludos
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: cristian_elect en 19 de Diciembre de 2012, 01:35:48
Ya no veo eso, seria buscar en mis archivos.
Título: Re: Memorias SD/MMC .... ¿algo simple y que funcione?
Publicado por: elotrogonzalo en 31 de Diciembre de 2012, 19:35:53
Por favor si pudieras hacerte un tiempo para subir las rutinas completas en algún momento seria genial! :)

desde ya muchas gracias.

saludos