stm8s 时钟库函数选择内部RC初始化

本文详细介绍了STM32微控制器的时钟配置过程,包括如何启用内部高速时钟HSI,设置HSI预分频器以实现16MHz的系统时钟频率。通过具体的C语言函数展示,如CLK_HSICmd()用于开启或关闭HSI,CLK_HSIPrescalerConfig()用于配置预分频器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//本文选择16M内部RC震荡。分频为1 即系统时钟为16M
void CLK_HSICmd(FunctionalState NewState)
{

    /* Check the parameters */
    assert_param(IS_FUNCTIONALSTATE_OK(NewState));

    if (NewState != DISABLE)
    {
        /* Set HSIEN bit */
        CLK->ICKR |= CLK_ICKR_HSIEN;
    }
    else
    {
        /* Reset HSIEN bit */
        CLK->ICKR &= (u8)(~CLK_ICKR_HSIEN);
    }

}
void CLK_HSIPrescalerConfig(CLK_Prescaler_TypeDef HSIPrescaler)
{

    /* check the parameters */
    assert_param(IS_CLK_HSIPRESCALER_OK(HSIPrescaler));

    /* Clear High speed internal clock prescaler */
    CLK->CKDIVR &= (u8)(~CLK_CKDIVR_HSIDIV);

    /* Set High speed internal clock prescaler */
    CLK->CKDIVR |= (u8)HSIPrescaler;

}

void CLK_Configuration(void)
{
   CLK_HSICmd(ENABLE);/* Set HSIEN bit */

 
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); /* Fmaster = 16MHz */

}

//初始化时,调用下面函数就可以:
CLK_Configuration();

转载于:https://www.cnblogs.com/ldxsuanfa/p/10728894.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值