TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: elguitre en 07 de Marzo de 2006, 07:45:00

Título: MMC y escritura de multiples bloques
Publicado por: elguitre en 07 de Marzo de 2006, 07:45:00
Hola, ya hay otros post sobre las memorias mmc, pero estoy trabajando con una y el tiempo me corre para terminar, necesito almacenar una señal en la memoria y escribiendo de a un bloque como esta en el codigo de microchipc se notan los cortes entre sector y sector en la grafica
Por eso me puse a desarrollar una funcion para la escritura continua de multiples bloques en la memoria. El tema es que no consigo hacerlo andar, alguien tiene algo hecho de esto??? en un ratito pongo el codigo que estoy usando gracias
Título: RE: MMC y escritura de multiples bloques
Publicado por: elguitre en 07 de Marzo de 2006, 07:56:00
Este es el codigo que estoy usando


int mmc_Esc_mult(unsigned long block_number)
{
 unsigned long i;
 unsigned long varh,varl;
 a=0;
 
 varl=((block_number&0x003F)<<9);
 varh=((block_number&0xFFC0)>>7);
 
 OUTPUT_LOW(PIN_C2);                     // Chip Select = 0 (on)
        SPI_WRITE(0x59);
        SPI_WRITE(make8(varh,1));
        SPI_WRITE(make8(varh,0));
        SPI_WRITE(make8(varl,1));
        SPI_WRITE(0x00);
        SPI_WRITE(0xFF);
 OUTPUT_HIGH(PIN_C2);

 if((mmc_response(0x00))==1) return 1;

 SPI_WRITE(0xFE);

 for(a=0;a<19;a++)
 {

  SPI_WRITE(0xFC);
 
  for(i=0;i<512;i++)
  {
   delay_ms(1);
   adc_temperatura=read_adc();
   SPI_WRITE(adc_temperatura);
  }
  SPI_WRITE(0xFF);
  SPI_WRITE(0xFF);
  if((SPI_READ(0xFF)&0x0F)!=0x05) return 1;
 }

 SPI_WRITE(0xFD);

 return 0;

}