Трое суток идут ожесточенные бои с шиной SPI и EEPROM M25P10.
Что только не делал:
Разные конфиги.
Занижал клок до t=20мс.
Разные EEPROM.
Все бесполезно. Не может такого быть. Чувствую что где то косяк, причем детский косяк.
Не могут все SPI EEPROM в протеусе глючить!
Микроконтроллер благополучно отсылает бит RDSR (и не только), но память игнорит и молчит зараза.
На i2c переходить не хочется, но походу придется.
Было замечено, что если отправить бит который память не знает(0b11111111) она начинает ругаться. Мол "ункнован команд" и все дела.
Есть хоть идея у кого???
#define SDO_PIN TRISC5
#define SDI_PIN TRISC4
#define SCK_PIN TRISC3
#define SS_PIN TRISA5
int main(int argc, char** argv){
	T0IE=0;
	GIE=0;
	TRISB=0;
	PORTB=0;
        TRISA=1;
	PORTA=0;
        TRISC=0;
	PORTC=0;
	while(1==1)
	{       RB4=0;
                init_spi();
                      spi_send(0b00000101);
                      PORTB=SSPSTAT;
	}
spi_send(unsigned char byte) { //отправка
        SSPBUF = byte; //
	DelayUs(100);
        SSPBUF = 0b00000000;// 
        DelayUs(100);
	byte = SSPBUF;  // 
	DelayUs(100);
	return byte;
}
void init_spi() //настройка
{
    SSPEN=1;
    SDI_PIN =1;
    SDO_PIN =0;
    SCK_PIN =0;
    SS_PIN =1;
    SMP=0;
    CKE=0;
    CKP=0;
    
    SSPM3=0;
    SSPM2=0;
    SSPM1=1;
    SSPM0=0;
}
Я где то касячнул!!!
			
				

 
 



 вы даташит откройте и уточните.
 вы даташит откройте и уточните.