我正在研究 Stm32F407 探索板。但我没有解决我的时钟配置问题。我想要 168Mhz 的工作频率,并从 CubeMx 时钟配置管理器获得帮助。这是我来自 CubeMx 的 PLLCFGR 寄存器值0x4405408
(我对这个寄存器有问题)。然后我将所有 RCC 寄存器复制粘贴到我的 CMSIS 代码中。这是我的时钟配置代码。
RCC-> CFGR = 0x4008940A; //MCO2 Source is PLLI2S (4), HSE Divided by 8 for RTC (8), APB2 Divided by 2 for 84Mhz, APB1 Divided by 4 for 42 Mhz
RCC-> CR = 0x0F0B6783; //PLL, PLLI2S, HSE, CSS ON
RCC-> PLLCFGR = 0x04405408; //PLLQ 4 (4), PLLSRC = HSE (4), PLLP 2 (0), PLLN 336 (54), PLLM 8 (8)
RCC-> PLLI2SCFGR = 0x50003C00; //PLLI2SR 5 (5), PLLI2SN 240 (3C)
但我无法从 Atollic 的 SFR 菜单中读取相同的值。所有寄存器均正确,但 PLLCFGR 寄存器值为 0x04405419。这个问题会影响我的时钟速度、外围速度等。我想将 PLLM 位设置为 8,但我读到了 19。所以我得到的速度比我想要的要低。因为 PLLM 位决定 PLL 输入时钟分频。我该如何解决这个注册问题?谢谢。