Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FYI: KEIL ARM MDK 4.2x - ошибка поддержки SD карты в STM32Fxxx
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
KnightIgor
Для информации.

Имеются:
    KEIL MDK 4.22
    FlashFS в нем
    STM32F103RC
    SD карта на SPI


Обнаружил, что в файле "драйвера" SPI_STM32F103.C версии 4.20 скорость по SPI устанавливается неправильно: в качестве параметра передается желаемая скорость в килободах (и имя параметра kbaud), а в коде обработка ведется, словно это простые baud!

Чтобы исправить, надо перед использованием помножить параметр на 1000.
Сравнил с завалявшимся файлом версии 4.10. Там была другая спецификация: либо высокая скорость, либо низкая, и "драйвер" просто переключал между 280kbps и 18Mbps.
KnightIgor
Цитата(KnightIgor @ Dec 13 2011, 19:05) *
Для информации.

Обнаружил, что в файле "драйвера" SPI_STM32F103.C версии 4.20 скорость по SPI устанавливается неправильно: в качестве параметра передается желаемая скорость в килободах (и имя параметра kbaud), а в коде обработка ведется, словно это простые baud!

Чтобы исправить, надо перед использованием помножить параметр на 1000.


Вынужден посыпать голову пеплом и скорректировать: все там правильно в оригинальном файле, только путано было:

определены две константы __FPCLK как 72000000 и FPCLK как __FPCLK/1000, и проверка kbaud в оригинальном коде ведется конечно с FPCLK.
Мда... Надо посоветовать KEIL поаккуратнее выбирать имена: как корабль назовешь, так он и поплывет...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.