Привет, разбираюсь с микросхемой
At45db161, купил ее в 8-ми выводном корпусе (других небыло), соответственно выводу Rdy/busy нет. В задаче №7 avr123-nm-ru опрашивали его командой
while(!(PINB & 0x02)); // wait until flash is not busy.
Мне нужно опросить его программно, только что написать вместо while(!(PINB & 0x02)).
Программу корректирую под Atmega8. Цель задачи записать данные из АЦП в At45db161.
Вот чтото сообразил:
SPDR = STATUS_REGISTER; // посилаем код 0x57
while (!(SPSR & temp)); // wait for data transfer to be completed
while(!(SPDR & 0x80)); // пероверяєм занятость Rdy/busy
(7-й бит в регистре статуса АТ45 должен стать 1)
Насколько я понял, ми посилаем код 0x57 в регистр статуса, и в ответ на SPDR приходить значение із регистра статуса. Но у мея чтото невишло. На ПК воводитса какойто набор символов.