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

 
 
> Работа с 25lc640
CSB
сообщение May 16 2006, 17:43
Сообщение #1


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

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



Hi, All!
С форума взял исходники для работы с 25lc640, немного переделал. Добавил функцию для записи страниц (32 байта). И при проверке произходит
следующее:
1. Пишем страницу.
2. Читаем 32 байта.
Записанное и прочитанное совпадают.

1. Пишем 32 байта с помощью функции, записывающей 1 байт за раз
2. Читаем 32 байта.
Записанное и прочитанное совпадают.

1. Пишем 1 байт с помощью функции записи страницы.
2. Пишем страницу.
3. Читаем 33 байта.
Записанное и прочитанное совпадают.

//================================================================================
==

Теперь пошли баги:

1. Пишем 1 байт.
2. Пишем страницу.
3. Читаем 33 байта.
Записанное и прочитанное не совпадают. Конкретно: не записывается самый первый байт, пишется как "0".
Обмен местами пунктов 1 и 2 не дает результата.

1. Пишем 1 байт.
2. Пишем 1 байт.
3. Пишем страницу.
4. Читаем 34 байта.
Записанное и прочитанное не совпадают. Конкретно: не записывается первые два байта, пишутся как "0".

У кого какие идей возникли?

Компилятор CVAAVR 1.24.4Прикрепленный файл  25lc640.txt ( 3.51 килобайт ) Кол-во скачиваний: 225


Сообщение отредактировал CSB - May 16 2006, 18:10
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CSB
сообщение May 16 2006, 20:03
Сообщение #2


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

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



Цитата
P.S. вы бы не могли остановиться в непрерывном редактировании ваших сообщений? Готовлю ответ с цитированием, глядь, а сообщение уже изменилось

Могу. Просто поспешил и не все написал. smile.gif


Цитата
раздел 3.3 Write Sequence

Это все понятно. Только почему при записи 1 байта (например, значение 0xAB по адресу 0x0000) и следом еще 32 байта (пишу как страницу, в новом цикле записи, начиная с 0x0001), не происходит записи первого байта (0xAB). Иногда бывает записана с ошибками часть 32 байтовой последовательности.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 16 2006, 20:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(CSB @ May 17 2006, 02:03) *
Это все понятно. Только почему при записи 1 байта (например, значение 0xAB по адресу 0x0000) и следом еще 32 байта (пишу как страницу, в новом цикле записи, начиная с 0x0001), не происходит записи первого байта (0xAB). Иногда бывает записана с ошибками часть 32 байтовой последовательности.

Потому что внутренний цикл записи начинается сразу же после того как CS был переведен в неактивное состояние. И перед началом следующей записи/чтения нужно опрашивать регистр RDSR на предмет завершения предыдущего цикла записи (бит WIP).
Go to the top of the page
 
+Quote Post



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

 


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


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