">
欢迎光临上海紫卓电子科技有限公司! 固话:021-31007998    热线:18721906708
手机  |   地图  |   RSS
AVR开发笔记——熔丝位
分类:单片机浏览量:594 TAG:

1、首先是stm32f10x.h中的HSE_VALUE


#if !defined  HSE_VALUE  

 #ifdef STM32F10X_CL  

 #define HSE_VALUE    ((uint32_t)12000000)//这里修改为12MHz  

//  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */注释掉  

 #else   

  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */  

 #endif /* STM32F10X_CL */  

#endif /* HSE_VALUE */  

2、修改分频/倍频系数使系统时钟变为72MHz


在system_stm32f10x.c的void SystemInit (void)函数下有一个SetSysClock()继续找static void SetSysClock(void)下的SetSysClockTo72();修改后如下一段代码:

其中被注释掉的部分为原来的代码。


 

    /* Configure PLLs ------------------------------------------------------*/  

    /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */  

    /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */  

         

    RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |  

                              RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);  

//    RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |  

//                             RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);  

    

    //HSE =  12 PLL2CLK = (HSE / 3) * 10 = 40 MHz  

        RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV3 | RCC_CFGR2_PLL2MUL10 |  

         RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);  

    /* Enable PLL2 */  

    RCC->CR |= RCC_CR_PLL2ON;  

    /* Wait till PLL2 is ready */  

    while((RCC->CR & RCC_CR_PLL2RDY) == 0)  

    {  

    }  

      

//     

//    /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */   

//    RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);  

//    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |   

//                            RCC_CFGR_PLLMULL9);   

  

        RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);  

        RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |   

                                                            RCC_CFGR_PLLMULL6);   

#else      

//    /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */  

//    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |  

//                                        RCC_CFGR_PLLMULL));  

//    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);  

          

      

    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |  

                                        RCC_CFGR_PLLMULL));  

    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);          


上海紫卓电子科技有限公司

地址:上海市嘉定工业区叶城路925号B区4幢J

网址:www.ic-ixys.com

电话:021-31007998

传真:021-31007998

邮件:569998567@qq.com

在线咨询: 569998567

QQ在线咨询
销售电话:
18721906708
021-31007998
569998567