hc32l136启用内部晶振示例
时间: 2023-10-30 18:07:11 浏览: 80
以下是一个启用 hc32l136 内部晶振的示例代码:
```c
#include "hc32l136.h"
int main(void)
{
// 1. 设置内部高速RC振荡器作为主时钟源
M0P_SYSCTRL->MOSCCR_f.MOSCEN = 0; // 禁止外部晶振
M0P_SYSCTRL->HOSCCR_f.HOSCEN = 0; // 禁止外部高速RC振荡器
M0P_SYSCTRL->MCLKSRC_f.SYSCLKSRC = 0; // 选择内部高速RC振荡器作为主时钟源
// 2. 配置内部晶振的时钟分频系数
M0P_SYSCTRL->IRCCFGR_f.IRCFREQ = 0x06; // 设置时钟分频系数为 16
// 3. 设置系统时钟分频系数
M0P_SYSCTRL->SYSCLKCR_f.SYSCLKDIV = 0x00; // 系统时钟分频系数为 1
// 4. 等待内部晶振稳定
while (!M0P_SYSCTRL->IRCRDY_f.IRC32KRDY);
// 5. 配置外设时钟
// ...
// 启动主循环
while (1)
{
// ...
}
}
```
在上面的示例代码中,首先将外部晶振和外部高速RC振荡器禁止,然后将内部高速RC振荡器设置为主时钟源,同时设置内部晶振的时钟分频系数为 16,系统时钟分频系数为 1。在等待内部晶振稳定后,可以配置外设时钟,使外设时钟与系统时钟同步。最后进入主循环。
阅读全文