hc32l136使用内部晶振代码
时间: 2024-01-12 19:03:49 浏览: 26
使用HC32L136内部晶振的代码如下所示:
```c
#include "hc32l136.h"
int main(void)
{
/* 使能内部晶振 */
CLK_XtalIEn(ENABLE);
/* 等待内部晶振稳定 */
while(CLK_GetClkSourceSta() != CLK_ClkStaXTH);
/* 将HSI时钟源切换到内部晶振 */
CLK_SetSysclkSrc(CLK_SYSCLKSOURCE_XTH);
/* 然后可以继续进行其他初始化操作 */
// ...
while(1)
{
// 程序主循环
}
}
```
在代码中,我们首先使能了HC32L136的内部晶振,然后等待晶振稳定。在晶振稳定之后,我们将系统时钟源切换到内部晶振。最后,我们可以继续进行其他系统初始化操作。
相关问题
hc32l136启用内部晶振示例
以下是一个启用 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。在等待内部晶振稳定后,可以配置外设时钟,使外设时钟与系统时钟同步。最后进入主循环。
hc32l136将内部晶振作为时钟源示例
下面是一个使用HC32L136内部晶振作为时钟源的示例代码:
```c
#include "hc32l136.h"
int main(void)
{
/* 使能内部晶振 */
CLK_XtalIEn(ENABLE);
/* 等待内部晶振稳定 */
while(CLK_GetClkSourceSta() != CLK_ClkStaXTH);
/* 将HSI时钟源切换到内部晶振 */
CLK_SetSysclkSrc(CLK_SYSCLKSOURCE_XTH);
/* 然后可以继续进行其他初始化操作 */
// ...
while(1)
{
// 程序主循环
}
}
```
在代码中,我们首先使能了HC32L136的内部晶振,然后等待晶振稳定。在晶振稳定之后,我们将系统时钟源切换到内部晶振。最后,我们可以继续进行其他系统初始化操作。
阅读全文