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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> STM32F100 + флешка EN25T80 + soft SPI, не удаётся прочитать данные
Artos5
сообщение Aug 11 2014, 14:25
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Так все в железе и заработало. По крайней мере чтение из флешки.

Интересный код. Не видел такой реализации раньше.
И на много быстрее такой вариант работает?

Сообщение отредактировал Artos5 - Aug 11 2014, 14:27
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Aug 11 2014, 14:40
Сообщение #17


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(Artos5 @ Aug 11 2014, 18:25) *
Так все в железе и заработало. По крайней мере чтение из флешки.

Интересный код. Не видел такой реализации раньше.
И на много быстрее такой вариант работает?

Delay всю разницу возьмёт на себя.
Без разницы про скорость - но читать после подъёма CLK. Во всяком случае, на такой последовательности тактирования работали все чипы.
Приходите на аппаратный SPI, если скорость вдруг заинтересовала.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 11 2014, 14:43
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Да скорость пока не важна. Не те задачи нужно решать sm.gif Программный лучше тем что совместим с любым мк.
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 11 2014, 17:55
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Возникла вторая проблема. Память не стирается и не записывается. Программная защита от записи отключена, проверил программатором. Читаться , читается память нормально.

Стирание и запись:

Код
soft_spi_init();
     SPI_CS_CLR;

     soft_spi_write_instruct(SPI_FLASH_INS_BLOCK_ERASE_4K);
    

     SPI_CS_SET;
     delay(100000);
     delay(100000);
     delay(100000);
     delay(100000);
     delay(100000);
     delay(100000);
     delay(100000);
     SPI_CS_CLR;

     soft_spi_write_instruct(SPI_FLASH_INS_PAGE_PROGRAM);
     soft_spi_write_addr(0x000000);
    for(x=0; x<255; x++)
     {
     soft_spi_write_instruct(x);
    }

     SPI_CS_SET;


сама функция записи:

Код
void soft_spi_write_instruct(unsigned char instruct)
{
    char x;

     delay(DLY);
    for(x=0;x<8;x++)  // instruction
    {

         SCK_SPI_CLR;

         if (0x80 & instruct)
         {
            SPI_DATA1;
         }
         else
         {
            SPI_DATA0;
         }

         delay(DLY);
         SCK_SPI_SET;
          delay(DLY);
         SCK_SPI_CLR;

      instruct = instruct<<1;
    }

}


Код
void soft_spi_write_addr(long addr_dev)
{
    char x;


     delay(DLY);
    for(x=0;x<24;x++)  // instruction
    {
         SCK_SPI_CLR;
         if (0x800000 & addr_dev)
         {
            SPI_DATA1;
         }
         else
         {
            SPI_DATA0;
         }

         delay(DLY);
         SCK_SPI_SET;
         delay(DLY);
         SCK_SPI_CLR;
          addr_dev = addr_dev<<1;
    }
}


Сообщение отредактировал Artos5 - Aug 11 2014, 17:56
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Aug 11 2014, 18:34
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Команду WRITE ENABLE (код 0x06) кто даст?
Go to the top of the page
 
+Quote Post
Artos5
сообщение Aug 11 2014, 18:39
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 124
Регистрация: 21-07-13
Из: Украина, Ахтырка
Пользователь №: 77 613



Цитата(Genadi Zawidowski @ Aug 11 2014, 21:34) *
Команду WRITE ENABLE (код 0x06) кто даст?


Геннадий, Вам нету цены! Спасибо! Прописал эту команду - и всё заработало : ))))
И чего для особо тугих нету полной "карты" записи страницы?
Go to the top of the page
 
+Quote Post

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

 


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


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