Полная версия этой страницы:
SPI и SD card
glebka
Aug 23 2005, 15:52
Помогите разобратся.Сделал всё как посоветовали старшие товарищи плюс Datasheet прочитал- нету результата,не могу инициализировать AT91SAM7 SPI и CHIPSELECT не выбирает устройство.
Если кто сталкивался,поделитесь кодом,если не жалко.
Запаивай чипселект на землю, если на spi висит только одно устройство. Если кода, что я прислал не достаточно (что не понятно), тяни с атмеля экзамплы по spi и пробуй.
glebka
Aug 24 2005, 06:25
Цитата(xoms @ Aug 24 2005, 04:28)
Запаивай чипселект на землю, если на spi висит только одно устройство. Если кода, что я прислал не достаточно (что не понятно), тяни с атмеля экзамплы по spi и пробуй.
В том то и дело, что надо выбирать из двух

устройств.И код вставил,не происходит SPI INIT и CS хоть тресни

.
Обязательно поищу на ATMEL. А где примеры хранятся? Поиск ничего не дал.
glebka
Aug 24 2005, 14:32
Цитата(glebka @ Aug 24 2005, 09:25)
Цитата(xoms @ Aug 24 2005, 04:28)
Запаивай чипселект на землю, если на spi висит только одно устройство. Если кода, что я прислал не достаточно (что не понятно), тяни с атмеля экзамплы по spi и пробуй.
В том то и дело, что надо выбирать из двух

устройств.И код вставил,не происходит SPI INIT и CS хоть тресни

.
Обязательно поищу на ATMEL. А где примеры хранятся? Поиск ничего не дал.
Наверное, не до конца разобрался со строкой
value_for_cs = (~(1 << psdcmd->cs_number))& 0xF;
Если не трудно просветите отсталого.
1. psdcmd - указатель на структуру, элементом которой является cs_number
2. 1 сдвигаем на cs_number влево (устанавливаем cs_number-ный бит в 1)
3. делаем инверсию этого дела
4. сбрасываем в 0 все биты, кроме 4-х младших.
В результате из 4-х младших бит 0 будет в "позиции" cs_number, остальные будут 1.
glebka
Aug 25 2005, 06:00
Цитата(VAI @ Aug 24 2005, 17:47)
1. psdcmd - указатель на структуру, элементом которой является cs_number
2. 1 сдвигаем на cs_number влево (устанавливаем cs_number-ный бит в 1)
3. делаем инверсию этого дела
4. сбрасываем в 0 все биты, кроме 4-х младших.
В результате из 4-х младших бит 0 будет в "позиции" cs_number, остальные будут 1.
спасибо
glebka
Aug 26 2005, 06:21
Отключил строки где конфигурируется pins на вход и выход и вроде как заработало. Странно.Если не секркет почему это может случатся.
Вопрос к Holms какой средой пользуетесь и каким устройством для отладки.
xoms, Я.
IAR у меня, чего отключил поподробнее.
glebka
Aug 30 2005, 07:40
[quote=xoms,Aug 26 2005, 12:13]
Извини, xoms.
IAR у меня, чего отключил поподробнее.
строки:
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, AT91C_PA11_NPCS0 | AT91C_PA31_NPCS1 | AT91C_PA13_MOSI | AT91C_PA14_SPCK);
AT91F_PIO_CfgInput(AT91C_BASE_PIOA, AT91C_PA12_MISO);
Пока работает.

. Хотя странно.Будем искать
Мне дают пользоватся ARM Metrowerks Code Warrior c ARM ICE debugger.
Штука неплохая но без dongle не работает.Надо искать решение.
А что ты делаешь с неиспользуемыми в SPI режиме ногами SD карты (pin 8, pin 9)?
Правильно ,что закоментарил. У меня после эти ноги на SPI переключаются и эти установки убиваются.
pSpi->SPI_CR = AT91C_SPI_SPIEN...
У меня не SD карта , а MMC. Оставь 8 и 9 свободными, так вроде в стандарте описано.
ARM Metrowerks Code Warrior лежит на нашем фтп вылеченный.
У меня не SD карта , а MMC. Оставь 8 и 9 свободными, так вроде в стандарте описано.
ARM Metrowerks Code Warrior лежит на нашем фтп вылеченный.
[/quote]
А если их через 10Kom подсоединить к плюсу?
Лежит, он то лежит, да ккак мне его взять

, молод ещё, не заслужил.
Ну подключи, если хочется.
Насчёт компилера , давай линк, залью куда-нибудь.
А можно на почтовый ящик glibka@mail.ru?
60 метров мыл.ру не потянет, а я замучаюсь отправлять.
Давай фтп всё таки.
FTP организовать не получается.Можно только лекарство? Дистрибутив есть.
Отправил мылом полдня назад.
glebka
Sep 17 2005, 16:16
Xoms, если не секрет просвети отсталого нужно ли дополнительно делать chip select в какой -либо функции при (записи, чтении и т.д.) или процессор делает это сам, при записи в TDR как в твоем примере, при по= байтном отправлении.
Так как в flashfile ребята таки делают CS_SD(). Как ты вышел из положения.
Нет не нужно. Он сам сделает чипселект. Для этого спец битик в регистре есть.
А flashfile не под сам7, у того проца ,я переделывал с филипса, такого битика нет, вот они и делают чипселект пальчиками.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.