hc32l13x 的Sysctrl_GetPClkFreq()
时间: 2024-03-21 16:44:17 浏览: 62
HC32L13X系列MCU的Sysctrl_GetPClkFreq()函数与其他系列的函数类似,也用于获取PCLK时钟频率。函数原型如下:
```
uint32_t Sysctrl_GetPClkFreq(void);
```
该函数无需传入参数,返回值为当前MCU的PCLK时钟频率。
在使用该函数前,需要先进行时钟配置。HC32L13X系列MCU的时钟系统包含多个时钟源和分频器,需要根据具体的需求进行相应的配置。以下是一个简单的HC32L13X系列MCU时钟配置的示例:
```
// 选择PLL作为系统时钟源
M0P_SYSCTRL->SYSCTRL0 = (M0P_SYSCTRL->SYSCTRL0 & ~SYSCTRL_SYSCTRL0_CKSW) | SYSCTRL_SYSCTRL0_CKSW_PLL;
// 配置PLL分频系数和倍频系数
M0P_SYSCTRL->PLLCTRL = (M0P_SYSCTRL->PLLCTRL & ~SYSCTRL_PLLCTRL_PLLMF) | (10 << SYSCTRL_PLLCTRL_PLLMF_POS);
M0P_SYSCTRL->PLLCTRL |= SYSCTRL_PLLCTRL_PLLEN;
// 配置PCLK分频系数
M0P_SYSCTRL->AHBCLKDIV = 1;
M0P_SYSCTRL->APBCLKDIV = 1;
```
在进行完时钟配置后,就可以调用Sysctrl_GetPClkFreq()函数获取当前的PCLK时钟频率了,例如:
```
// 获取PCLK时钟频率
uint32_t pclk_freq = Sysctrl_GetPClkFreq();
```
需要注意的是,HC32L13X系列MCU的时钟系统比较复杂,具体的时钟配置需要根据实际需求进行相应的调整和优化。
阅读全文