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

 
 
> Проблема с SPI, зависает при обращении к SPDR
Alex Truhin
сообщение Oct 7 2010, 10:33
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 13-04-10
Пользователь №: 56 609



Atmega 128 и память AT45DB321, читаю статус памяти,
SELECT();
status = DF_SPI_RW(StatusReg);
status = DF_SPI_RW(0x00);
DESELECT();

static uint8_t DF_SPI_RW( uint8_t tx )
{
uint8_t rx;
SPDR = tx;
while(!(SPSR & 0x80));
rx = SPDR;
return rx;
}
при первом чтении все ОК, но при повторном чтении, на строке status = DF_SPI_RW(0x00);
программа зависает, т.е. SPSR не взводиться.
Возможно есть проблемы с памятью, но почему не взводится флаг SPSR? Ведь насколько я понимаю,
мастер устройству пофиг на реакцию слэйв устройства на SPI?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex Truhin
сообщение Oct 8 2010, 17:16
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 13-04-10
Пользователь №: 56 609



Спасибо всем за рекомендации и советы, теперь только в понедельник посмотрю, отпишу результаты.
Цитата
=GM=: Ещё интересует, почему вы читаете статус памяти, но не дожидаетесь готовности бита BUSY?
Вот кусок из старой библиотеки

BUSY смотрю при переключении страниц, при запросе статуса его смотреть не нужно, это видно и из примеров atmel, и по логике, т.к. busy, согласно документации, можно проверять 2 способами, либо проверять на выводе (если он есть), либо проверять бит статуса.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alex Truhin   Проблема с SPI   Oct 7 2010, 10:33
- - aesok   Код настройки SPI. Функция DF_SPI_RW - это первая ...   Oct 7 2010, 10:53
- - Alex Truhin   Код настройки: static uint8_t df_GetStatus() { ...   Oct 7 2010, 15:17
|- - Lmx2315   прошу прощения если не на то ссылку даю и если нич...   Oct 7 2010, 17:55
|- - KSANDER   Цитата(Alex Truhin @ Oct 7 2010, 19:17) С...   Oct 8 2010, 07:44
|- - aesok   Как запрограмирован фьюз M103C? Как скомпилировала...   Oct 8 2010, 09:48
- - Alex Truhin   Цитата(KSANDER @ Oct 8 2010, 17:44) Эта с...   Oct 8 2010, 08:50
- - GDI   Ногу WP подтяните к питанию у АТ45. Можно просто с...   Oct 8 2010, 09:26
- - 777777   А не сбрасывает ли кто SPE случайно? Может просто ...   Oct 8 2010, 10:03
|- - Сергей Борщ   Цитата(777777 @ Oct 8 2010, 13:03) А не с...   Oct 8 2010, 10:25
- - Alex Truhin   Ну по порядку: ЦитатаGDI: Ногу WP подтяните к пита...   Oct 8 2010, 10:53
|- - aesok   > 1. как память slave может влиять на SPI ника...   Oct 8 2010, 11:00
|- - GDI   Цитата(Alex Truhin @ Oct 8 2010, 14:53) W...   Oct 8 2010, 11:10
- - alexeyv   А можно поинтересоваться что у Вас с пином SS (исп...   Oct 8 2010, 13:08
|- - V_G   Цитата(alexeyv @ Oct 9 2010, 00:08) А мож...   Oct 8 2010, 14:47
|- - Сергей Борщ   Цитата(V_G @ Oct 8 2010, 17:47) Если вопр...   Oct 8 2010, 21:20
|- - demiurg_spb   Настройте ногу SS на выход, как Вам уже ранее неод...   Oct 10 2010, 12:41
- - GDI   В сообщении №3 все же написано, про входы и выходы...   Oct 8 2010, 13:29
- - =GM=   Цитата(Alex Truhin @ Oct 7 2010, 09:33) u...   Oct 8 2010, 15:31
- - alexeyv   ЦитатаА можно поинтересоваться что у Вас с пином S...   Oct 11 2010, 03:48


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

 


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


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