код программы для настройки SPI
void main(void)
WDTCON = 0; // Disable WatchDog timer
/////SPI
SSPCON1 = 0; //reset SPI
TRISB |= 0b00000001; // SDI line as input
TRISC &= ~0b10000000; // SDO line as output
TRISB |= 0b00000010; // SCK line as input
TRISA |= 0b00100000; // SS line as input
TRISA &= ~0b00000100; // RESET pin as output
TRISA &= ~0b00010000; // CS pin as output
RCON |= 0b10000000; // Priority of interrupt enable
INTCON |= 0b11000000; // All interrupt enable. Enable all pheriferal interrupts.
PIR1 &= ~0b00001000; // Clear interrupt flag
PIE1 |= 0b00001000; // Enable SPI interrupt
IPR1 |= 0b00001000; // Set SPI priority to HIGH
SSPSTAT = 0b01000000; // SPI configure
SSPCON1 = 0b00100101; // SPI configure
LATA &= ~0b00000100; // Setting RESET pin as 0
for(i = 0; i < 3000;i++); // Sleep
LATA |= 0b00000100; // Setting RESET pin as 1
LATA &= ~0b00010000; // CS = 0
SSPBUF = 0xA5; // Sending data
После выполнения этого кода на линии SDO состояния не изменяются, те данные не отправляются.
Не могу понять почему