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

 
 
> ATMEGA128 + AT45DB321D, Помогите разобратся
Tcom
сообщение Aug 6 2008, 05:25
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Добрый день!! Есть такая проблемма в моём устройстве данные пишутся каждую минуту таким вот образом
1.Читаю сектор командой FlashToBuf1Transfer.
2.Модифицирую данные в буфере
Код
DF_SPI_RW(Buf1Write);                //buffer 1 write op-code
        DF_SPI_RW(0x00);                //don't cares
        DF_SPI_RW((unsigned char)(IntPageAdr>>8));      //upper part of internal buffer address
        DF_SPI_RW((unsigned char)(IntPageAdr));            //lower part of internal buffer address
        DF_SPI_RW(Data);

3.Записываю буфер обратно в сектор Buf1ToFlashWE (с стиранием встроенным).

Когда читаю данные -

1.Читаю сектор в буфер 2 - FlashToBuf2Transfer
2.Читаю данные с буфера

И в итоге у меня записываются соседние сектора, если пишу 0 то пишутся 1,2,3 .
Ч то я не так делаю??
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
demiurg_spb
сообщение Aug 6 2008, 06:55
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Попробуй так...
Прикрепленные файлы
Прикрепленный файл  df_driver.rar ( 3.31 килобайт ) Кол-во скачиваний: 63
 


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
volod_ua
сообщение Aug 6 2008, 09:42
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 51
Регистрация: 9-06-05
Пользователь №: 5 885



Подібна проблема є і у мене....якщо вилікуєте цю проблему роскажіть як...
Я раніше робив з 1МБ все було ок....а вот з тою новою ДатаФлешкою якісь проблеми....
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Aug 6 2008, 10:17
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(volod_ua @ Aug 6 2008, 18:42) *
Подібна проблема є і у мене....якщо вилікуєте цю проблему роскажіть як...
Я раніше робив з 1МБ все було ок....а вот з тою новою ДатаФлешкою якісь проблеми....

Простите, а нельзя по русски?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Aug 8 2008, 12:44
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Полечилось когда исправил,
нада
Код
        DF_SPI_RW((unsigned char)(PageAdr >> (16 - PageBits)));    
        DF_SPI_RW((unsigned char)(PageAdr << (PageBits - 8)));

а было
Код
    DF_SPI_RW((unsigned char)(PageAdr >> 6)));       //upper part of page address
        DF_SPI_RW((unsigned char)(PageAdr & 0x3F)); //lower part of page address


в функциях чтения и записи страниц (BufferToPage - PageToBuffer)
Go to the top of the page
 
+Quote Post

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

 


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


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