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

 
 
> Пример работы с AT25DF641., Может у кого есть готовый исходник?
tMauzer
сообщение May 21 2010, 13:44
Сообщение #1





Группа: Участник
Сообщений: 3
Регистрация: 22-03-10
Пользователь №: 56 121



Не поможет ли кто примерчиком общения с AT25DF641 флэшкой?

Хочется побыстрее её запустуть, потому что дальше интереснее... но не получается.

Взял пример от Атмела для АТ26, но он не работает. AT26_ReadJedecId(&at26); всегда возвращает 0.

Вроде как всё просто, но как-то глухо laughing.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yurmala
сообщение Sep 7 2011, 11:12
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 9-02-11
Из: Трехгорный
Пользователь №: 62 814



Да. Получилось. Спасибо.

А как тогда эта система работает при чтении/записи произвольных данных?

Ведь там надо еще 3 байта адреса передавать + 2 dummy байта?
Как это будет выглядеть? Так что ли?
Чтение данных с адреса Х
Код
spi_rw(0x1B);
spi_rw(X >> 16);
spi_rw(X >> 8);
spi_rw(X);
spi_rw(0); //dummy 1
spi_rw(0); //dummy 2
for (...)
   {
   buf++ = spi_rw(0);
   }


Сообщение отредактировал yurmala - Sep 7 2011, 11:19
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 7 2011, 11:16
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Да, именно. (В четвёртом сообщении темы есть пример)


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
yurmala
сообщение Sep 8 2011, 04:41
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 9-02-11
Из: Трехгорный
Пользователь №: 62 814



Цитата(AHTOXA @ Sep 7 2011, 17:16) *
Да, именно. (В четвёртом сообщении темы есть пример)

Я его изначально за основу и взял, если честно. Но неопределенность с функциями spi_r8 и spi_w привела в тупик.
Вот сейчас не получается добиться того чтобы прочитать из микросхемы записанный ранее байт.
Функция записи получилась такая:
Код
uint8_t ssp_rw(uint8_t b)
{
    SSP1DR = b;   // передаём
    while ( !(SSP1SR & SSPSR_RNE) );  // ждём пока примется
    return SSP1DR;
}

void at25_command(char cmd)
{
    at25_SSEL_low(AT25_CS);
    ssp_rw(cmd);
}

void at25_write_byte(uint32_t adr, uint8_t data)
{
    at25_command(EE_WREN);
    at25_SSEL_high(AT25_CS);            // toggle CS, necessary for WREN

    at25_command(EE_WRITE);
    ssp_rw(adr >> 16);
    ssp_rw(adr >>  8);
    ssp_rw(adr);
    ssp_rw(data);
    at25_SSEL_high(AT25_CS);
    while (at25_read_status()& SS_WRITING);
}


Функция at25_write_byte() вроде отрабатывает без ошибок.

Но при чтении этого байта - вместо мною записанного байта возвращается 0xFF

Функция чтения:
Код
uint8_t at25_read_byte(uint32_t adr)
{
    uint8_t result;

    at25_command(EE_READ);
    ssp_rw(adr >> 16);
    ssp_rw(adr >> 8);
    ssp_rw(adr);
    result = ssp_rw(0);
    at25_SSEL_high(AT25_CS);
    return result;
}

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- tMauzer   Пример работы с AT25DF641.   May 21 2010, 13:44
- - zltigo   Цитата(tMauzer @ May 21 2010, 16:44) Хоче...   May 21 2010, 14:10
- - tMauzer   Железо - это практически копия at91sam7x-ek. На SP...   May 21 2010, 14:36
- - AHTOXA   Цитата(tMauzer @ May 21 2010, 19:44) Не п...   May 21 2010, 14:46
- - tMauzer   AHTOXA, ОГРОМНОЕ СПАСИБО!!! А в амело...   May 21 2010, 14:51
|- - GrigaN   Цитата(tMauzer @ May 21 2010, 20:51) AHTO...   Dec 4 2010, 18:05
- - Genadi Zawidowski   at91lib_20100901_softpack_1_9_v_1_0_svn_v15011.zip...   Dec 4 2010, 20:37
- - yurmala   Здравствуйте! Не буду создавать новую тему, сп...   Sep 7 2011, 06:47
|- - AHTOXA   Не устану повторять: SPI - такая штука: Чтобы что-...   Sep 7 2011, 07:58
|- - yurmala   Цитата(AHTOXA @ Sep 7 2011, 13:58) Не уст...   Sep 7 2011, 08:23
|- - AHTOXA   Именно!   Sep 7 2011, 09:02
- - yurmala   Как-то странно все пока... Поменял код: Кодvolatil...   Sep 7 2011, 09:06
- - yurmala   Получилось вот с таким кодом. Но не могу понять от...   Sep 7 2011, 10:27
|- - AHTOXA   Цитата(yurmala @ Sep 7 2011, 16:27) Может...   Sep 7 2011, 10:53
- - AHTOXA   Да вроде правильно всё... Может, ножка WP случайно...   Sep 8 2011, 05:21
- - yurmala   Цитата(AHTOXA @ Sep 8 2011, 11:21) Да вро...   Sep 8 2011, 05:34
- - AHTOXA   Не вижу ошибок. Unprotect Sector - вряд ли. Global...   Sep 8 2011, 06:04
- - yurmala   Цитата(AHTOXA @ Sep 8 2011, 12:04) Не виж...   Sep 8 2011, 06:28


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:05
Рейтинг@Mail.ru


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