Atmega 128 и память AT45DB321, читаю статус памяти, SELECT(); status = DF_SPI_RW(StatusReg); status = DF_SPI_RW(0x00); DESELECT();
static uint8_t DF_SPI_RW( uint8_t tx ) { uint8_t rx; SPDR = tx; while(!(SPSR & 0x80)); rx = SPDR; return rx; } при первом чтении все ОК, но при повторном чтении, на строке status = DF_SPI_RW(0x00); программа зависает, т.е. SPSR не взводиться. Возможно есть проблемы с памятью, но почему не взводится флаг SPSR? Ведь насколько я понимаю, мастер устройству пофиг на реакцию слэйв устройства на SPI?
|