Darti 0 27 июля, 2016 Опубликовано 27 июля, 2016 (изменено) · Жалоба Пытаюсь запустить sdio на stm32l476 камне, с халовской библиотекой. Инициализация работает, чтение работает, запись нет. При записи в STA регистре устанавливается флаг DCRCFAIL. Тот же код прекрасно работает на stm32l151. Железо проверил 10раз - подтяжки 47к, питание 3.3в, все линии прозваниваются от карты до контроллера, тактирование правильное. UPD: Починено. Проблема в корявых дефайнах хала It's know issue in STM32L4 during writing on SD card due to wrong definition for SDMMC registers value: #define SDMMC_DCTRL_DBLOCKSIZE_2 (0x3U << SDMMC_DCTRL_DBLOCKSIZE_Pos) /*!< 0x00000040 */ #define SDMMC_DCTRL_DBLOCKSIZE_3 (0x4U << SDMMC_DCTRL_DBLOCKSIZE_Pos) /*!< 0x00000080 */ These lines should be defined as follow: #define SDMMC_DCTRL_DBLOCKSIZE_2 (0x4U << SDMMC_DCTRL_DBLOCKSIZE_Pos) /*!< 0x00000040 */ #define SDMMC_DCTRL_DBLOCKSIZE_3 (0x8U << SDMMC_DCTRL_DBLOCKSIZE_Pos) /*!< 0x00000080 */ Изменено 27 июля, 2016 пользователем Darti Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spy61 0 12 августа, 2016 Опубликовано 12 августа, 2016 · Жалоба Спасибо! Я два дня жизни на поиски этой ошибки в библиотеке убил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться