Hola estoy tratando de leer una memoria spi ,usando el modulo spi del 18f452,no tengo problemas para leer y escribir direcciones particualres de memoria pero cuando trato de leer una pagina entera solo puedo leer el primer dato,
yo hice un polling con spi_read(0) para recibir los demas datos,pero parece que no genera los clocks para que la memoria siga mandando los datos!!!??alquin me puede dar una mano?
aca los ejemplos,el que me anda y el que no...
ESTO ANDA BIEN
output_low(EEPROM_SELECT);
delay_ms(5);
spi_write(3) ; //comando leer
spi_write(5); //3 bytes direccion
spi_write(0);
spi_write(0); //byte mas significativo
value= spi_read(0); // leo contenido direccion 5
output_high(EEPROM_SELECT);
delay_ms(300);
AHORA SI QUIERO LEER DESDE LA POSICION 5 A LA 10
output_low(EEPROM_SELECT);
delay_ms(5);
spi_write(3) ; //comando leer
spi_write(5); //3 bytes direccion
spi_write(0);
spi_write(0); //byte mas significativo
for (i=0; I<=5 ;i++){
recib = spi_read(0);} // datos los cargo en recib
output_high(EEPROM_SELECT);
for (i=0; i<=5; i++){
printf("valor = %u
",recib);} //NO ANDA, RECIBE SOLO EL DATO DE LA DIRECCION 5
}