zoukankan      html  css  js  c++  java
  • STM32内部时钟设置-寄存器版

    STM32寄存器版本——内部时钟设置

    同时要记得把延时初始化函数设置好

     1 //系统时钟初始化函数
     2 //pll:选择的倍频数,从2开始,最大值为16    
     3 //pll:选择的倍频数,这里使用内部时钟,PLL为4就是4分频     
     4 void Stm32_Clock_Init(u8 PLL)
     5 {
     6     unsigned char temp=0;   
     7     MYRCC_DeInit();            //复位并配置向量表
     8 //     RCC->CR|=0x00010000;    //外部高速时钟使能HSEON
     9     RCC->CR|=0x00000001;    //内部高速时钟使能HSEON
    10 
    11 //    while(!(RCC->CR>>17));  //等待外部时钟就绪
    12     while(!(RCC->CR>>1));   //等待内部时钟就绪
    13     
    14     RCC->CFGR=0X00000000; //APB1=DIV1;APB2=DIV1;AHB=DIV1;
    15     
    16     PLL-=2;//抵消2个单位
    17 //    RCC->CFGR|=PLL<<18;   //设置PLL值 2~16
    18     RCC->CFGR|=PLL<<18;   //设置PLL值 2~16   4倍频
    19     RCC->CFGR|=0<<16;      //PLLSRC ON ,内部时钟经过两分频后输入给下一个寄存器
    20     FLASH->ACR|=0x32;      //FLASH 2个延时周期
    21 
    22     RCC->CR|=0x01000000;  //PLLON
    23     while(!(RCC->CR>>25));//等待PLL锁定
    24     RCC->CFGR|=0x00000002;//PLL作为系统时钟     
    25     while(temp!=0x02)     //等待PLL作为系统时钟设置成功
    26     {   
    27         temp=RCC->CFGR>>2;
    28         temp&=0x03;
    29     }    
    30 }            

     

  • 相关阅读:
    Oracle 创建表并设置主键自增
    Oracle 基本知识回顾
    关于JAVAweb的一些东西
    JAVA获取运行环境的信息
    关于正则表达式的一些东西
    关于jQuery的一些东西
    关于JS的一些东西
    thymeleaf 的使用
    小程序flex容器
    Vue组件化
  • 原文地址:https://www.cnblogs.com/qidaiymm/p/5996998.html
Copyright © 2011-2022 走看看