microcontroller - stm32f303k8比较器寄存器地址?
问题描述
我对 uC 编程相当陌生,并且试图为 stm32f303k8 找到比较器外设的基址寄存器地址时碰壁了。我在参考手册、数据表或编程手册以及各种搜索中的许多其他点击中都找不到信息。我已经看到,如果为比较器启用了时钟,它将在 AHB 时钟上运行,但单独的图表显示 AHB 馈入 APB1 和 APB2,并且比较器专门放置在 APB2 下方。我很困惑,并欢迎任何帮助(没有使用库!),甚至是一个搜索字符串指向正确的方向。
解决方案
您可以在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 内嵌的时钟树编辑器工具入手,因为我在开发之初就懒得查阅所有资料。这使人们有机会从合理的猜测开始,然后验证时钟设置是否是所需的。
推荐阅读
- javascript - AJAX DataTable Server Side 在将 serverSide 从 true 更改为 false 时遇到错误
- mysql - 在一天中的特定时间检索数据
- r - 重新排列两列,使第一列的值在 R 中总是更大
- javascript - 无法从 html 获取 javascript 中的用户输入
- sql - 在 MS Access vba 发送的更新 SQL Server 查询中循环
- leaflet - 在非地理地图中编辑比例尺
- python - enumerate() 不仅仅是 zip(range(len())) 吗?
- mysql - 如何选择显示数据的语句
- getuikit - 将 UIKit 集成到 Vuepress
- c# - 如何将base64字符串作为图像保存到C#中的文件夹中?