реклама на сайте
подробности

 
 
> avr и at45db161d, не могу никак связаться с памятью
kostian296
сообщение Nov 6 2008, 16:08
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 20-10-08
Пользователь №: 41 074



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 ?
Прикрепленные файлы
Прикрепленный файл  Flash_USB.sch ( 96 килобайт ) Кол-во скачиваний: 26
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 19:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016