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

 
 
> замена AT45DB161B-RI на AT45DB161D-SU, проблема с отсутствием ноги RDY/~BUSY
plombir
сообщение Nov 17 2006, 12:33
Сообщение #1


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Доброго дня, Господа!

Так как м/с flash AT45DB161B-RI (28 ног) снята с производства, решено заменить её на 8-и ножечную. Так, вот, проблема возникла при написании кода определения занятости м/с. Если раньше сигнал проверялся на ноге RDY/~BUSY и проблем не было, то здесь она отсутствует и приходится проверять через "Регистр Статуса" 7-ой бит. Что то не получается... Перепробовал по разному и по всякому. Начинает работать если ставится задержка из цикла NOP-ов вместо ожидания.

Если кто сталкивался с программным опросом м/с flash AT45 через регистр, подскажите пожалуйста последовательность действий при ожидании занятости.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ykidia
сообщение Apr 1 2007, 23:48
Сообщение #2


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

Группа: Свой
Сообщений: 80
Регистрация: 3-08-06
Пользователь №: 19 287



Цитата
Я бы попробовал с таким максимально простым кодом

Да у меня и было максимально просто, а как пошли глюки, так я постарался сделать точно так, как написано в даташите на LPC2214 в разделе SPI:

The following sequence describes how one should process a data transfer with the SPI block when it is set up to be the master.
This process assumes that any prior data transfer has already completed.
1. Set the SPI clock counter register to the desired clock rate.
2. Set the SPI control register to the desired settings.
3. Write the data to transmitted to the SPI data register. This write starts the SPI data transfer.
4. Wait for the SPIF bit in the SPI status register to be set to 1. The SPIF bit will be set after the last cycle of the SPI data
transfer.
5. Read the SPI status register.
6. Read the received data from the SPI data register (optional).
7. Go to step 3 if more data is required to transmit.

Ну и т.д. wink.gif
Цитата
просто чтобы обратить внимание на причинно следственную связь.

Это да, но про варианты я сказал не особо серьезно, так как внимание уже было обращено на тот факт, что почти везде работает как надо, т.е. пишет, читает то, что писалось, читается статус - занятость, результат сравнения и т.д.
Цитата
Я бы так ни в жизнь не написал.

Никогда не говорите никогда.
Плохо кончится, родной © Кин-дза-дза
wink.gif
Однако я так пишу потому что
Цитата
А меня задолбали варнинги на неиспользуемые dummy и стал писать только так
полностью согласен smile.gif. Более того - Вы смотрели листинг с использованием этих dummy? Я решил проверить. почему выходит варнинг, и оказалось, что для таких случаев строки типа
Цитата
V32 dummy = S0SPSR; // dummy read of SPIF
просто выкинуты и отсутствуют в ассемблерном коде.

Сообщение отредактировал Ykidia - Apr 2 2007, 00:03
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 2 2007, 00:08
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Ykidia @ Apr 1 2007, 22:48) *
и оказалось, что для таких случаев строки типа
Цитата

V32 dummy = S0SPSR; // dummy read of SPIF

просто выкинуты и отсутствуют в ассемблерном коде.

Приводите в пример конкретные строки, которые у вас выкидываются или те на которых у вас выскакивают варнинги.

V32 это есть
typedef volatile unsinged long V32
и на приведенной строчке варнинга не может быть впринципе.

Цитата(zltigo @ Apr 1 2007, 08:18) *
Жизнь она такая штука smile.gif - меняется smile.gif.

;>
Цитата
Чем, например, такое написание хуже и непонятнее вызова функции без аргументов с игнорированием возвращаемого ей значения?

Оно неестественно выглядит.. То ли это вызов макроса, но тогда почему бы не добавить (), то ли просто переменная воткнута. Дело привычки и стиля.
такое тоже смотрится неестественно:

if (condition)

// la la
// bla bla

do_sth();

тем не менее компилироваться и работать будет..
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- plombir   замена AT45DB161B-RI на AT45DB161D-SU   Nov 17 2006, 12:33
- - prottoss   Цитата(plombir @ Nov 17 2006, 19:33) Добр...   Nov 17 2006, 12:41
- - VDG   Цитата(plombir @ Nov 17 2006, 15:33) Если...   Nov 17 2006, 12:42
- - prottoss   Раз уж создана тема про ДатаФлэш, хотелось бы спро...   Nov 17 2006, 15:14
|- - zltigo   Цитата(prottoss @ Nov 17 2006, 17:14) Раз...   Nov 17 2006, 19:36
|- - rezident   Цитата(prottoss @ Nov 17 2006, 20:14) Раз...   Nov 17 2006, 20:23
|- - prottoss   Цитата(rezident @ Nov 18 2006, 03:23) На ...   Nov 18 2006, 16:17
- - vesago   Я из экономии ног и 28 ноговую db161 опрашивал чер...   Nov 17 2006, 19:29
- - Ykidia   ЦитатаНичего сложного там нет. Читаете даташит и с...   Mar 28 2007, 12:41
|- - Сергей Борщ   Цитата(Ykidia @ Mar 28 2007, 11:41) Так ч...   Mar 28 2007, 13:05
- - Ykidia   Спасибо за ответ. У меня примерно такой же код (со...   Mar 28 2007, 13:25
|- - Сергей Борщ   Цитата(Ykidia @ Mar 28 2007, 12:25) однак...   Mar 28 2007, 13:47
- - add   Работал с AT45DB041 в soic8 корпусе. Там нет ножк...   Mar 28 2007, 13:35
- - Ykidia   Да, фиктивную передачу делаю, иначе просто бит око...   Mar 28 2007, 14:38
|- - Сергей Борщ   Цитата(Ykidia @ Mar 28 2007, 13:38) Да, ф...   Mar 29 2007, 13:46
- - Itch   Насколько я понял из даташита, читать весь статусн...   Mar 28 2007, 21:42
- - Artem_Petrik   Цитатаdo { DF_ChipSelect_Start(); ...   Mar 28 2007, 22:30
- - Ykidia   Вот они: Код#define SPI_MODE 0x38 // MSTR CPOL...   Mar 30 2007, 10:17
|- - Сергей Борщ   Цитата(Ykidia @ Mar 30 2007, 09:17) Вот о...   Mar 30 2007, 12:53
- - sensor_ua   ЦитатаЕдинственное, у меня IAR строчки вида S0SPSR...   Mar 31 2007, 10:00
|- - Сергей Борщ   Цитата(sensor_ua @ Mar 31 2007, 09:00) Вс...   Mar 31 2007, 13:24
|- - zltigo   Цитата(Сергей Борщ @ Mar 31 2007, 12:24) ...   Mar 31 2007, 16:32
|- - Сергей Борщ   Цитата(zltigo @ Mar 31 2007, 15:32) Да не...   Mar 31 2007, 16:45
|- - zltigo   Цитата(Сергей Борщ @ Mar 31 2007, 15:45) ...   Mar 31 2007, 17:03
- - Ykidia   ЦитатаВы же данные не тем концом суете. Вообще-то ...   Mar 31 2007, 20:59
|- - Сергей Борщ   Цитата(Ykidia @ Mar 31 2007, 19:59) Ну а ...   Mar 31 2007, 22:57
|- - defunct   Цитата(Ykidia @ Mar 31 2007, 19:59) Вообщ...   Apr 1 2007, 04:56
|- - zltigo   Цитата(defunct @ Apr 1 2007, 03:56) Я бы ...   Apr 1 2007, 09:18
- - sensor_ua   ЦитатаЯ бы так ни в жизнь не написал А меня задолб...   Apr 1 2007, 08:27
- - Ykidia   Доброе утро! ЦитатаV32 это естьtypedef volati...   Apr 2 2007, 00:18
- - Ykidia   Господа! Прошу простить меня за беспокойство...   Apr 3 2007, 16:37
- - Ykidia   Забыл сказать всем ответившим - большое спасибо за...   Apr 3 2007, 22:34


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:39
Рейтинг@Mail.ru


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