STM32的时钟

发布于:2023-07-04 ⋅ 阅读:(95) ⋅ 点赞:(0)

使用百问网的STM32F103MINI开发板完成下面实验。

1、STM32时钟。

STM32共有4个时钟源,HSE、HSI、LSE、LSI。

常规是通过HSE或LSE经过锁相环倍频后给系统提供时钟。

HSE推荐典型值是8M,经过9倍频,输出72M,APB1最高只能36M所以需要二分频。

HSI内部典型值是8M,经过2分频,最大16倍频,输出64M,APB1二分频后是32M。

2、通过CubeMX配置时钟。

HSE选择 Crysal/Ceramic Resonator 晶振。

3、生成代码后下载MINI开发板进行验证。

主函数中,依次是

HAL_Init(); //使用HAL库第一步需要初始化HAL库

HAL库初始化中,设置中断优先级分组,初始化并启动滴答时钟。

SystemClock_Config(); //系统时钟配置

MX_GPIO_Init(); //GPIO初始化

while(1)中添加如下代码

int main(void)
{
    HAL_Init();
    
    SystemClock_Config();
    
    MX_GPIO_Init();

while (1)
{
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
	HAL_Delay(1000);
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
	HAL_Delay(1000);
}

HAL_Delay()是HAL库自带的延时函数。

 开发板左侧蓝灯是系统LED,右边红灯是电源LED,可以看到蓝灯有闪烁。


网站公告

今日签到

点亮在社区的每一天
去签到