Hola,estoy tratando de usar la memoria spi 25lc256 con el modulo interno spi,lo
leo y escribo sin problemas por software(usando el driver25640.c,puesto que las dos memorias 25lc256 y 25lc64 se direccionan con 2 bytes),o sea que descarto todo problema de hardware...
Cuando intento hacerlo con el hardware SPI del pic,cosa que deberias ser muy simple, no lo puedo lograr(la ventaja de hacerlo por hard es que se la puede usar a alta velocidad ..10mhz)
aca esta el codigo..a ver quIen me puede dar una mano porque ya no se que tocar!!!
#include "18f452.h"
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#define EEPROM_SELECT PIN_A5
#define EEPROM_DI PIN_C5
#define EEPROM_DO PIN_C4
#define EEPROM_CLK PIN_C3
void main() {
static int value=0;
output_high(EEPROM_SELECT);
output_low(EEPROM_DI);
output_low(EEPROM_CLK);
setup_spi(SPI_MASTER | SPI_L_TO_H |SPI_CLK_DIV_64); //test a baja velocidad
delay_ms(200);
output_low(EEPROM_SELECT);
spi_write(6); //activo write operaciones
output_high(EEPROM_SELECT);
delay_ms(100);
//ESCRITURA
output_low(EEPROM_SELECT);
spi_write(2);//comando escribir
spi_write(0); //direccion 2 bytes
spi_write(1);
spi_write(9); // dato
output_high(EEPROM_SELECT); //
delay_ms(100);*/
//********************
//LECTURA
output_low(EEPROM_SELECT); //
spi_write(3) ;//comando lectura
spi_write(0); //direccion 2 bytes
spi_write(1);
value = spi_read();
output_high(EEPROM_SELECT);
printf("valor = %u
",value);