Stm32f303k8 Адрес регистра компаратора?
Я новичок в программировании uC и наткнулся на стену, пытаясь найти адрес базового регистра периферийных устройств компаратора для stm32f303k8. Я не смог найти информацию ни в справочном руководстве, ни в таблице данных, ни в руководстве по программированию, ни во многих других результатах различных поисков. Я видел, что если для компараторов включены часы, они работают на часах AHB, но отдельная диаграмма показывает, что AHB подается как в APB1, так и в APB2, а компараторы были специально размещены под APB2. Я очень запутался и приветствовал бы любую помощь (кроме использования библиотек!), Даже строку поиска, указывающую мне в правильном направлении.
1 ответ
Вы найдете ответ в справочном руководстве вашего STM32F303k8, а не в его техническомописании.
В разделе 3.2.2 справочного руководства вы найдете как взаимосвязь между периферийными устройствами и шинами, через которые вы можете до них добраться, так и граничные / базовые адреса периферийных регистров. Таблица 4 на страницах 57/58 относится к подсемейству контроллеров. Здесь я нахожу строку о SYSCFG + COMP + OPAMP, которая может быть тем, что вы ищете. Базовый адрес для всех - 0x4001 0000, подключение через APB2.
Изменить: если вы хотите проверить документацию, какие шины / часы необходимы для управления периферийным устройством, я рекомендую начать с рис. 1 в гл. 2 (стр. 13) спецификации. Здесь вы обнаружите, что APB2 управляется через AHB2, и что COMP настраиваются через SYSCFG CTL. Дерево часов, изображенное на рис. 2 в гл. 3.6 (стр. 19) показывает, что часы APB2 управляются (с другим предварительным делителем) часами AHB (HCLK). Подробности описаны в гл. 2 справочного руководства.
Лично я предпочитаю начинать с инструмента редактора дерева часов, встроенного в STM32CubeMX, потому что мне лень искать всю информацию в начале разработки. Это дает возможность начать с разумного предположения и впоследствии проверить правильность настроек часов.