Stm32f303k8 адрес регистратора компаратора? - PullRequest
1 голос
/ 01 мая 2020

Я довольно новичок в программировании для вас C и столкнулся с проблемой, пытаясь найти базовый адрес регистра периферийных устройств компаратора для stm32f303k8. Я не смог найти информацию ни в справочном руководстве, ни в таблице данных, ни в руководстве по программированию, ни во многих других поисках по различным запросам. Я видел, что если для компараторов включены часы, они работают на часах AHB, но на отдельной диаграмме показана подача AHB в APB1 и APB2, а компараторы были специально размещены под APB2. Я в замешательстве и приветствую любую помощь (кроме использования библиотек!), Даже строку поиска, указывающую мне правильное направление.

1 Ответ

1 голос
/ 01 мая 2020

Вы найдете ответ в справочном руководстве вашего STM32F303k8 , а не в его таблице .

В разделе 3.2.2 В справочном руководстве вы найдете как связь между периферийными устройствами и шинами, через которые вы можете к ним добраться, так и граничные / базовые адреса периферийных регистров. В Таблице 4 на страницах 57/58 указано подсемейство вашего контроллера. Здесь я нахожу строку на SYSCFG + COMP + OPAMP , которая может быть тем, что вы ищете. Базовый адрес для всех: 0x4001 0000 , соединение через APB2.

Редактировать: Если вы хотите проверить документацию, какие шины / часы необходимы на пути к диск периферийного устройства, я рекомендую начать с рис. 1 в гл. 2 (стр. 13) таблицы. Здесь вы обнаружите, что APB2 управляется через AHB2, а COMP конфигурируются через SYSCFG CTL. Дерево часов изображено на рис. 2 в се c. 3.6 (стр. 19) показывает, что часы APB2 управляются (с другим прескалером) часами AHB (HCLK). Детали описаны в гл. 2 справочного руководства.

Лично я предпочитаю начинать с инструмента редактора дерева часов, встроенного в STM32CubeMX, потому что мне лень просматривать всю информацию в начале разработки. Это дает возможность начать с разумного предположения и проверить, являются ли настройки часов необходимыми впоследствии.

...