极海MCU---Std库与HAL库区别之时钟配置

文章讨论了从习惯使用STM32CubeMX的HAL库配置STM32单片机到APM32单片机标准库的转变过程中遇到的问题。主要焦点在于STM32CubeMX自动时钟配置与标准库手动配置的区别,以及如何在标准库中进行时钟设置。在标准库中,时钟配置包含在SystemInit函数内,而在HAL库中则需要额外的SystemClock_Config函数来完成。
摘要由CSDN通过智能技术生成

习惯了使用STM32CubeMX配置STM32系列单片机(使用的是HAL库),最近使用APM32系列的单片机,官方提供的例程是使用的标准库(Std库),据说STM32的HAL库和标准库都能与APM32无缝连接。想使用一下标准库来开发,配置时钟时发现HAL库和标准库有一些不同。
在两种库的启动文件中我们发现都有SystemInit函数,
标准库:
在这里插入图片描述

HAL库:
在这里插入图片描述
当我们跳转到该函数时发现他们是有所不同的
标准库:
在这里插入图片描述
HAL库:
在这里插入图片描述
我们发现标准库中SystemInit函数涉及到了时钟配置:
在这里插入图片描述

/*!
 * @brief       Sets System clock frequency to 72MHz and configure HCLK, PCLK2 and PCLK1 prescalers
 *
 * @param       None
 *
 * @retval      None
 *
 */
static void SystemClock72M(void)
{
   
    __IO uint32_t i;

    RCM->CTRL_B.HSEEN = BIT_SET;

    for (i = 0; i < HSE_STARTUP_TIMEOUT; i++)
    {
   
        if (RCM->CTRL_B.HSERDYFLG)
        {
   
            break;
        }
    }

    if (RCM->CTRL_B.HSERDYFLG)
    {
   
        /* Enable Prefetch Buffer */
        FMC->CTRL1_B.PBEN = BIT_SET;
        /* Flash 2 wait state */
        FMC->CTRL1_B.WS =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值