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

 
 
> Еще раз о SAM7, Непонятка с SPI
beer_warrior
сообщение Jul 1 2006, 20:19
Сообщение #1


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Вожусь с AT45DB081. Проинитил SPI вроде правильно - времянки заказанные, CS дергается как надо.
Пишу/читаю следующим кодом
Код
BYTE SPI_byte(BYTE b)
{
while(!(AT91C_BASE_SPI->SPI_SR & AT91C_SPI_TDRE));
AT91C_BASE_SPI->SPI_TDR = b;
return AT91C_BASE_SPI->SPI_RDR;
}

Запускаю простейшее - чтение статуса
Код
BYTE ReadStat(void)
{
SYNC_HI();SYNC_LO(); //это синхроимпульс для осцилла

SPI_byte(READ_STATUS);
return SPI_byte(0);
}

И что вижу - команда проходит нормально, а порожняковый байт нет.
Вставка еще одного SPI_byte(0); дает 16 клоков, но на SO Z-состояние - данных нет.
Что делать?


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post



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

 


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


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