[an error occurred while processing this directive]
|
процессор ATmega161
память AT45D021
#define READ_B1 0x54 // BUFFER READ
// write to SPI
void spi_w(unsigned char c) {
SPDR = c;
while (!(SPSR & (1xxSPIF)));
}
SPCR = 0x5C;
while(!(PINB & 0x02));
PORTB &= ~DF_CHIP_SELECT; // включение DataFlash
spi_w(READ_B1);
spi_w(0x00); // запись не имеющего значения байта
spi_w((char)(addr--8));
spi_w((char)(addr));
spi_w(0x00); // запись не имеющего значения байта
for (i=0;i<30;i++) { spi_w(0xFF); buf_r[i] = SPDR; }
PORTB |= DF_CHIP_SELECT; // выключение DataFlash
while(!(PINB & 0x02));
SPCR = 0x00;
xx - сдвиг влево
-- - сдвиг вправо
E-mail: info@telesys.ru