第二章:SetHsiClockUser内部高速时钟函数详解

void SetHsiClockUser(void)

    isHseHsiCntFlag |=0x02;
    Hse1Hsi0User = 0;
    PLL_M =16;

   //添加使用内部振荡源,HSI时钟信号由内部为16MHzRC振荡器生成,可直接用作系统时钟,或者用作 PLL 输入

    RCC->CR &= ~((uint32_t)RCC_CR_HSEON);//bit16,HSEON置0即关闭HSE振荡器
RCC->CR |= ((uint32_t)RCC_CR_HSION); //bit0, HSION置1即打开HSI振荡器

    while((RCC->CR & RCC_CR_HSIRDY)==0)
    {
    }

    /* Select regulator voltage output Scale 1 mode */

    RCC->APB1ENR |= RCC_APB1ENR_PWREN;

    //bit28,PWREN置1即打开APB1时钟的电源

    PWR->CR |= PWR_CR_VOS;

    //应该是PWR_CR_VOS_0才对,主要是PWR_CR_VOS把bit15置1,而手册上说bit15~31保留,必须保持复位值。bit14,VOS置1,设置性能与功耗的平衡

    /* HCLK = SYSCLK / 1*/
    RCC->CFGR |= RCC_CFGR_HPRE_DIV1;//bit4~7,HPRE是AHB预分频(当使用以网时,AHB时钟频率至少为25MHz),不分频
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值