Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATMEL168 и AT45DB021B-SU
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
kostian296
SPCR = (1 << SPE)|(1 <<MSTR)|(1 << CPOL)|(1 << CPHA);
SPSR = (1 << SPI2X); // 2x rate

// initialize PORTB for SPI
DDRB |= (1 << SPI_MOSI)|(1 << SPI_SCK)|(1 << SPI_SS);
DDRB &= ~(1 << SPI_MISO);

void SPI_Write_Byte(unsigned char cool.gif
{
SPDR = b;
while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
}

unsigned char SPI_Read_Byte(void)
{
SPDR = 0x00;
while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
return SPDR;
}

unsigned char at45ReadVID(void)
{
unsigned char ID;
CS_ON; //óñòàíîâèì CS äëÿ DataFlash
SPI_Write_Byte(0x9f); //ïåðåäàåì íîìåð êîìàíäû
ID=SPI_Read_Byte(); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
CS_OFF;; //ñáðîñèì CS äëÿ DataFlash

return(ID);
}

Какие бы скорости не выставлял все время возврщает ID=0 ?
kostian296
Цитата(kostian296 @ Oct 25 2008, 10:08) *
SPCR = (1 << SPE)|(1 <<MSTR)|(1 << CPOL)|(1 << CPHA);
SPSR = (1 << SPI2X); // 2x rate

// initialize PORTB for SPI
DDRB |= (1 << SPI_MOSI)|(1 << SPI_SCK)|(1 << SPI_SS);
DDRB &= ~(1 << SPI_MISO);

void SPI_Write_Byte(unsigned char cool.gif
{
SPDR = b;
while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
}

unsigned char SPI_Read_Byte(void)
{
SPDR = 0x00;
while (!(SPSR & (1<<SPIF))); // wait for data transfer to be completed
return SPDR;
}

unsigned char at45ReadVID(void)
{
unsigned char ID;
CS_ON; //óñòàíîâèì CS äëÿ DataFlash
SPI_Write_Byte(0x9f); //ïåðåäàåì íîìåð êîìàíäû
ID=SPI_Read_Byte(); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
SPI_Write_Byte(0); //÷èòàåì ðåãèñòð ñòàòóñà
CS_OFF;; //ñáðîñèì CS äëÿ DataFlash

return(ID);
}

Какие бы скорости не выставлял все время возврщает ID=0 ?


The AT45DB161D is a 2.5-volt or 2.7-volt, serial-interface sequential access Flash
memory ideallysuited. Вся плата питается от 3.3В. Может не катит питание ?
Надо 2.7В подать на память ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.