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

 
 
CortexM3
сообщение Mar 21 2012, 19:24
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 11-01-12
Пользователь №: 69 293



Доброго времени суток ! Работаю с контроллером stm32f103 ret6 плата производства фирмы Терраэлектроника. Использую пример расположенный в папке примеров. Мне необходимо подключить sd карту через SDIO.
Инициализацию я провожу как в примере:
CODE

SD_Init();
//----------------------Init_SD--------------------//

if (Status == SD_OK)
{
Status = SD_GetCardInfo(&SDCardInfo);//
printf("\r\n SD_GetCardInfo:");
}

if (Status == SD_OK)
{
Status = SD_SelectDeselect((uint32_t) (SDCardInfo.RCA << 16));
printf("\r\n\n SD_SelectDeselect");
}

if (Status == SD_OK)
{
Status = SD_EnableWideBusOperation(SDIO_BusWide_4b);
printf("\r\n EnableWideBusOperation");
}

if (Status == SD_OK)
{
Status = SD_SetDeviceMode(SD_DMA_MODE);
printf("\r\n Set Transfer Mode");
}



ОТладчик (использую ИАР) валиться на SD_SelectDeselect возвращает ошибку таймаута. Я установил что виновато в этом прерывание.
CODE

void SDIO_IRQHandler(void)
{
SD_ProcessIRQSrc();
}


Оно объявленов в NVIC - прерывание у меня одно в файле it оно объявлено. И оно не вызывается вообще не проходит.
Я попробовал все варианты - менял карточки, предполагал что какие то выводы таймеров "гадят"- нет.
Помогите пожалуйста, я понимаю что вопрос избитый но почему именно это прерывание не вызывается....
С уважением.
Go to the top of the page
 
+Quote Post



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

 


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


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