如何在 STM32F429 中找到 APB1 时钟的值
Posted
技术标签:
【中文标题】如何在 STM32F429 中找到 APB1 时钟的值【英文标题】:How to find value of APB1 Clock in STM32F429 【发布时间】:2015-01-26 01:36:21 【问题描述】:谁能告诉我如何找到STM32F429的APB1时钟频率? 以及如何计算STM32F429的波特率。
P.S...请不要告诉参考参考手册,因为这些工作已经完成,我想告诉我 APB1 时钟频率的确切值
谢谢
【问题讨论】:
除了查阅参考手册并浏览代码之外别无他法。 请参阅参考手册。在那里,您将找到了解 HCLK、APB1、APB2 如何与 HSI/HSE/PLL 关联所需的所有信息。 【参考方案1】:使用标准外设库,包含stm32f4xx_rcc.h
,然后调用void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)
,它将用所有总线时钟的值填充您传递的结构。
答案的正确性取决于您为HSI_VALUE
或HSE_VALUE
设置的值(全局uint32_t
设置为系统振荡器的Hz 值)。您可以在应用程序的启动 C 文件中找到它。
您应该查看启动文件中的值,以确保内核时钟是从您期望的源(通常是通过内部 (HSI) 或外部 (HSE) 晶振的 PLL)生成的。如果它们是正确的并且与前面提到的全局常量匹配,那么RCC_GetClocksFreq
给出的答案就是正确的。
【讨论】:
【参考方案2】:对于STM32CubeIDE
#include "stm32f4xx_hal_rcc.h"
uint32_t Fpclk1 = HAL_RCC_GetPCLK1Freq();
PCLK1 和 APB1 时钟是同义词
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何在 STM32F429 中找到 APB1 时钟的值的主要内容,如果未能解决你的问题,请参考以下文章