[an error occurred while processing this directive]
|
Проблема такая:
Значение регистра статуса выдает, а данные выплевывать не хочет (анализатором смотрел)
Вот кусок исходника (для упрощения, адреса поставил в ноль)
page_addres = 0x00010;
buffer_addres = 0x0010;
data = 0xaa;
// процедура записи в память "сквозь" буфер
CS = 0; // с этим тоже не помагает // CS = 0; // процедура чтения регистра STATUS
E-mail:
info@telesys.ru
SPDR = MM_PAGE_PROG_THROUGH_B1;
while ((SPSR & (1<
SPDR = 0;//page_addres>>8;
while ((SPSR & (1<
SPDR = 0;//((char)page_addres<<1)+(buffer_addres>>9);
while ((SPSR & (1<
SPDR = 0;//(char)buffer_addres;
while ((SPSR & (1<
SPDR = data;
while ((SPSR & (1<
SPDR = data;
while ((SPSR & (1<
while ((SPSR & (1<
while ((SPSR & (1<
// CS = 1;
// SPDR = AUTO_PAGE_REWRITE_THROUGH_B1;
//while ((SPSR & (1<
#asm ("cli");
delay_ms (14);
#asm ("sei");
CS = 0;
SPDR = STATUS_REGISTER;
while ((SPSR & (1<
while ((SPSR & (1<
#asm ("cli");
delay_us (50);
#asm ("sei");
//процедура чтения байта из памяти
CS = 0;
SPDR = MAIN_MEMORY_PAGE_READ; // читать данные, минуя буфер
while ((SPSR & (1<
SPDR = 0;//page_addres>>8;
while ((SPSR & (1<
while ((SPSR & (1<
while ((SPSR & (1<
SPDR = 0xFF;
while ((SPSR & (1<
CS = 1;
Ответы