hc32l13x将内部晶振作为时钟源,PLL示例代码
时间: 2024-01-10 16:05:09 浏览: 121
以下是一个HC32L13x的PLL配置示例代码,您可以参考一下:
```c
#include "hc32l13x.h"
int main(void)
{
/* 使能外设时钟 */
M0P_SYSCTRL->PERI_CLKEN0_f.GPIO = 1;
/* 设置内部晶振作为系统时钟 */
M0P_SYSCTRL->RCL_CR_f.TRIM = 0x0; // 内部晶振校准值
M0P_SYSCTRL->RCL_CR_f.STABLE = 0x1; // 内部晶振稳定标志
M0P_SYSCTRL->RCL_CR_f.OSC_EN = 0x1; // 使能内部晶振
M0P_SYSCTRL->RCL_CR_f.CLK_SRC = 0x0; // 将内部晶振作为系统时钟源
/* 配置PLL */
M0P_SYSCTRL->PLL_CR_f.PLLSRC = 0x1; // 选择内部晶振作为PLL时钟源
M0P_SYSCTRL->PLL_CR_f.PLLM = 0x1; // PLL输入时钟分频系数
M0P_SYSCTRL->PLL_CR_f.PLLN = 0x20; // PLL倍频系数
M0P_SYSCTRL->PLL_CR_f.PLLP = 0x0; // PLL输出时钟分频系数
M0P_SYSCTRL->PLL_CR_f.PLLR = 0x0; // PLL输出时钟分频系数
M0P_SYSCTRL->PLL_CR_f.PLLFOUTEN = 0x1; // 使能PLL输出时钟
/* 等待PLL稳定 */
while (M0P_SYSCTRL->PLL_CR_f.PLLLOCK != 0x1);
/* 将PLL输出时钟作为系统时钟源 */
M0P_SYSCTRL->RCL_CR_f.CLK_SRC = 0x2;
while (1)
{
/* 用户代码 */
}
}
```
请注意,以上代码仅为示例参考,具体配置参数需要根据您的实际需求进行调整。同时,如果您需要使用外部时钟源,请参考芯片的数据手册以获取详细的配置方法。
阅读全文