CortexM3 0 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Доброго времени суток ! Работаю с контроллером stm32f103 ret6 плата производства фирмы Терраэлектроника. Использую пример расположенный в папке примеров. Мне необходимо подключить sd карту через SDIO. Инициализацию я провожу как в примере: 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 возвращает ошибку таймаута. Я установил что виновато в этом прерывание. void SDIO_IRQHandler(void) { SD_ProcessIRQSrc(); } Оно объявленов в NVIC - прерывание у меня одно в файле it оно объявлено. И оно не вызывается вообще не проходит. Я попробовал все варианты - менял карточки, предполагал что какие то выводы таймеров "гадят"- нет. Помогите пожалуйста, я понимаю что вопрос избитый но почему именно это прерывание не вызывается.... С уважением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
inventor 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба этот пример работать не будет-могу сразу сказать. там последовательность команд неправильная. возможно она подходит для микрокарт, но для больших карт нет. попробуйте сделать последовательность команд как сделано у Chan у меня по рукой нету примера=попробую кинуть к обеду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
inventor 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба это для работы по spi, но разницы принцыпиальной нет в примерах идент неправильная последовательность, возможно из-за этого у вас не работает. SPI_MSD.rar Part_1_Physical_Layer_Simplified_Specification_Ver_3.01_Final_100518.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба А "Part 3 Security Specification" есть свежая? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CortexM3 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба Спасибо я посмотрю. Только вот плата у меня отладочная и она жестко прикручена к SDIO... а тут SPI... Инит я может неправильно делаю. С уважением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
inventor 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба Спасибо я посмотрю. Только вот плата у меня отладочная и она жестко прикручена к SDIO... а тут SPI... Инит я может неправильно делаю. С уважением. это без разницы в пдф - фе должна идти сторго последовательность команд. я не помню точно-в неработающих примера вроде как идет команда 0x80 которой не должно быть. на вскидку не могу сказать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CortexM3 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба А выводы как?? их не переименуешь или код полностью "взаимозаменяем" со SPI или SDIO?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться