Не получается подружить atmegу328 и 23lc1024 по spi.
Подключил SO к MISO, SI к MOSI, клок к клоку, холд к питанию подтянул. Пишу/читаю вот так:
Код:
void SPI_MasterTransmit(char cData)
{
CS_LO;
/* Запуск передачи данных: */
SPDR = cData;
/* Ожидание завершения передачи: */
while(!(SPSR & (1 << SPIF)));
CS_HI;
}
char SPI_Receive(void)
{
CS_LO;
/* Чтение принятых данных и возврат: */
return SPDR;
CS_HI;
}
Тишина в ответ. Посмотрел в даташите на 23LC1024 - там по диаграмам CS опускается в ноль и держится там до окончания приема-передачи. Сделал так же - ничего не изменилось. Не удаеться даже прочитать параметр MODE.
Куда копать? Кроме как то что микросхема мертвая - что еще может быть?
На той же spi висит еще одно устройство - оно работает нормально. Сейчас отключил его в попытках заставить работать 23LC1024