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

 
 
> Пример работы с 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
Ответов
AHTOXA
сообщение May 21 2010, 14:46
Сообщение #2


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

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



Цитата(tMauzer @ May 21 2010, 19:44) *
Не поможет ли кто примерчиком общения с AT25DF641 флэшкой?


AT25 - EEPROM, AT26 - FLASH. Вот о чём пытался намекнуть вам zltigo.

Вот минимальный набор для работы с at25:
Код
#include "at25.h"

#define AT25_CS        3, 3, L            // at25 чипселект

// EEPROM commands
#define  EE_READ              3
#define  EE_WRITE             2
#define  EE_WREN              6
#define  EE_WRDI              4
#define  EE_RDSR              5
#define  EE_WRSR              1

// EEPROM status
#define SS_WRITING            0x01    // Write cycle in progress
#define SS_WRITE_ENABLE        0x02    // Write enabled

void at25_init(void)
{
    direct(AT25_CS,O);    // переключаем ногу чипселекта на выход
    off(AT25_CS);           // отключаем (высокий уровень)
}

void at25_command(char cmd)
{
    on(AT25_CS);
    spi_w(cmd);
}

uint8_t at25_read_status(void)
{
    int result;

    at25_command(EE_RDSR);
    result = spi_r8();
    off(AT25_CS);
    return result;
}

uint8_t at25_read_byte(uint16_t adr)
{
    uint8_t result;

    at25_command(EE_READ);
    spi_w(adr >> 8);
    spi_w(adr);
    result = spi_r8();
    off(AT25_CS);
    return result;
}

void at25_read(uint16_t adr, uint8_t *bf, uint16_t len)
{
    at25_command(EE_READ);
    spi_w(adr >> 8);
    spi_w(adr);
    while (len--)
        *bf++ = spi_r8();
    off(AT25_CS);
}

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

    at25_command(EE_WRITE);
    spi_w(adr >> 8);
    spi_w(adr);
    spi_w(data);
    off(AT25_CS);
    while (at25_read_status()& SS_WRITING);
}

void at25_write(uint16_t adr, uint8_t *bf, uint16_t len)
{
    while (len--)
        at25_write_byte(adr++, *bf++);
}


--------------------
Если бы я знал, что такое электричество...
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
- - 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
- - yurmala   Да. Получилось. Спасибо. А как тогда эта система ...   Sep 7 2011, 11:12
- - AHTOXA   Да, именно. (В четвёртом сообщении темы есть приме...   Sep 7 2011, 11:16
- - yurmala   Цитата(AHTOXA @ Sep 7 2011, 17:16) Да, им...   Sep 8 2011, 04:41
- - 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:17
Рейтинг@Mail.ru


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