hc32l13启用内部晶振示例,开启串口打印,SysCtrl_CLK_Init
时间: 2024-02-28 14:56:55 浏览: 74
MCU参考资料_C语言_HC32L13X_华大芯片基础工程包_源码
5星 · 资源好评率100%
下面是启用 HC32L13 内部晶振、开启串口打印,并使用 `SysCtrl_CLK_Init()` 函数初始化系统时钟的示例代码:
```c
#include "hc32l13x.h"
#include "stdio.h"
int main(void)
{
/* 初始化系统时钟 */
SysCtrl_CLK_Init();
/* 使能 UART0 时钟 */
CLK_FcgPeriphClockCmd(CLK_FCG_UART0, ENABLE);
/* 配置 UART0 引脚 */
GPIO_SetFunc(UART0_TX_PORT, UART0_TX_PIN, GPIO_FUNC_2_UART);
GPIO_SetFunc(UART0_RX_PORT, UART0_RX_PIN, GPIO_FUNC_2_UART);
/* 配置 UART0 参数 */
stc_uart0_baud_t stcBaud = {2400, UART0_BCR_CLK_DIV64};
UART0_BaudrateConfig(&stcBaud);
/* 使能 UART0 发送和接收功能 */
UART0_FuncCmd(UART0_TX | UART0_RX, ENABLE);
while (1)
{
/* 打印 Hello World! */
printf("Hello World!\r\n");
}
}
```
在上述代码中,我们使用了 `SysCtrl_CLK_Init()` 函数初始化系统时钟。这个函数会将系统时钟源设置为内部高速时钟,并将时钟分频系数设置为 1。
接着,我们使用了之前的方法配置和初始化了 UART0,并使用 `printf()` 函数实现了串口打印功能。
在 `while` 循环中,使用 `printf()` 函数打印字符串 "Hello World!",并通过串口发送出去。
需要注意的是,使用 `SysCtrl_CLK_Init()` 函数初始化系统时钟后,系统时钟频率会被设置为 16MHz。如果需要设置其他的系统时钟频率,可以在 `SysCtrl_CLK_Init()` 函数中修改相应的参数。
阅读全文