zoukankan      html  css  js  c++  java
  • STM32F103 ------ 时钟配置

    由于stm32的库默认是外部晶振8M的情况下实现的,所以配置波特率的时候也是按8M,包括主频,如果用12M晶振就需要改动几个地方: 
    在system_stm32f10x.c中找到相应类型的文件,进行如下修改。 
    1)72M主频: 
    8M时: 
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); 
    12M: 
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); 
    2)stm32f10x.h中修改: 
    *#define HSE_Value ((uint32_t)12000000) /!< Value of the External oscillator in Hz /*

    这里写图片描述 
    这里写图片描述

    如果调试时遇到串口输出不正确的时候,可以直接查看stm32的内部时钟是多少。 
    举例说明: 
    /*

    */ 
    void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks); 
    RCC_ClocksTypeDef ClockInfo; 
    int main(void) 

    RCC_GetClocksFreq(&ClockInfo);

    /* Infinite loop */
    
    • 1
    • 2

    while ( 1 ) 
    {

    }
    
    • 1
    • 2


    通过观察ClockInfo这个结构体,可以清楚直观的看到配置的内部时钟信息。

  • 相关阅读:
    iOS React Native实践系列二
    iOS React Native实践系列一
    ios各种兼容记录
    ios的__weak、__strong关键字
    index使用基本原则
    mysql explain详解
    手写迷你Tomcat
    动态代理
    C#设计模式(23种模式)
    unity 序列化和反序列化
  • 原文地址:https://www.cnblogs.com/god-of-death/p/9311043.html
Copyright © 2011-2022 走看看