1

我对 uC 编程相当陌生,并且试图为 stm32f303k8 找到比较器外设的基址寄存器地址时碰壁了。我在参考手册、数据表或编程手册以及各种搜索中的许多其他点击中都找不到信息。我已经看到,如果为比较器启用了时钟,它将在 AHB 时钟上运行,但单独的图表显示 AHB 馈入 APB1 和 APB2,并且比较器专门放置在 APB2 下方。我很困惑,并欢迎任何帮助(没有使用库!),甚至是一个搜索字符串指向正确的方向。

4

1 回答 1

1

您可以在STM32F303k8的参考手册 中找到答案, 而不是在其 数据表中。

在参考手册的第 3.2.2 节中,您可以找到外设之间的关系和您可以访问它们的总线,以及外设寄存器的边界/基地址。在第 57/58 页的表 4 中适用于您的控制器子系列。在这里,我在SYSCFG + COMP + OPAMP上找到了一行,这可能是您正在寻找的。所有的基地址都是0x4001 0000,通过 APB2 连接。

编辑: 如果您想查看驱动外围设备的过程中需要哪些总线/时钟的文档,我建议从第 1 章中的图 1 开始。2(第 13 页)的数据表。在这里,您会发现 APB2 是通过 AHB2 驱动的,而 COMP 是通过 SYSCFG CTL 配置的。第 2 节中图 2 中描绘的时钟树。图 3.6(第 19 页)显示 APB2 时钟由 AHB 时钟(HCLK)驱动(使用另一个预分频器)。细节在 Ch. 中描述。2 参考手册。

我个人更喜欢从 STM32CubeMX 内嵌的时钟树编辑器工具入手,因为我在开发之初就懒得查阅所有资料。这使人们有机会从合理的猜测开始,然后验证时钟设置是否是所需的。

于 2020-05-01T05:55:07.470 回答