当前位置: 首页 > news >正文

手机建站程序莱芜都市网app

手机建站程序,莱芜都市网app,宁波网站的建设,在线crm客户管理系统6.2 Clocks 最大系统时钟频率 当 STM32F103 系列仅使用内部高速振荡器(HSI,8 MHz)作为时钟源,并通过 PLL 放大时,最大可达 64 MHz。([forum.mikroe.com][1], [keil.com][2]) HSI 被内部除以 2(即 4 M…

6.2 Clocks
在这里插入图片描述

在这里插入图片描述


最大系统时钟频率

当 STM32F103 系列仅使用内部高速振荡器(HSI,8 MHz)作为时钟源,并通过 PLL 放大时,最大可达 64 MHz。([forum.mikroe.com][1], [keil.com][2])

  • HSI 被内部除以 2(即 4 MHz)后输入 PLL,PLL 最多可设置到 ×16,因此最大输出时钟为 4 MHz × 16 = 64 MHz。([forum.mikroe.com][1])
  • 如果不使用 PLL,直接用 HSI 作为系统时钟,则只能运行在 8 MHz。([Medium][3])

修改步骤概览

要在 system_stm32f10x.c 中去掉外部 8 MHz 晶振(HSE),并改用 HSI/2 → PLL → 64 MHz,需要:

  1. 在预编译宏中定义新的选择:

    #define SYSCLK_USE_HSI_PLL
    
  2. SystemCoreClock 的初始值分支里添加对应项:

    #ifdef SYSCLK_USE_HSI_PLLuint32_t SystemCoreClock = 64000000;  // 64 MHz
    #elif defined SYSCLK_FREQ_72MHz#endif
    
  3. SetSysClock() 的分支调度中增加 HSI_PLL 路径:

    static void SetSysClock(void)
    {#elif defined SYSCLK_USE_HSI_PLLSetSysClockToHSI_PLL();
    #endif
    }
    
  4. 新增并实现 SetSysClockToHSI_PLL() 函数,用来配置 PLL 源为 HSI/2,倍乘因子为 16:

    static void SetSysClockToHSI_PLL(void)
    {// 1. 确保 HSI 已开启并稳定RCC->CR |= RCC_CR_HSION;while (!(RCC->CR & RCC_CR_HSIRDY)) {}// 2. 配置 PLL 源:HSI/2, 倍频 ×16RCC->CFGR &= ~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);RCC->CFGR |= RCC_CFGR_PLLSRC_HSI_Div2    // PLL 时钟源 = HSI/2| RCC_CFGR_PLLMULL16;         // PLL 倍频因子 = 16// 3. 启动 PLL 并等待就绪RCC->CR |= RCC_CR_PLLON;while (!(RCC->CR & RCC_CR_PLLRDY)) {}// 4. 选择 PLL 作为系统时钟源RCC->CFGR &= ~RCC_CFGR_SW;RCC->CFGR |= RCC_CFGR_SW_PLL;while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) {}// 5. 设置总线预分频:AHB = /1, APB1 = /2, APB2 = /1RCC->CFGR &= ~(RCC_CFGR_HPRE | RCC_CFGR_PPRE1 | RCC_CFGR_PPRE2);RCC->CFGR |= RCC_CFGR_PPRE1_DIV2; // APB1 ≤36MHz// 6. 配置 Flash 延时为 2 WS (64MHz 下至少需 2 WS)FLASH->ACR &= ~FLASH_ACR_LATENCY;FLASH->ACR |= FLASH_ACR_LATENCY_2;
    }
    
    • 以上配置最终使得:SYSCLK = PLLCLK = 64 MHzHCLK = 64 MHzPCLK2 = 64 MHzPCLK1 = 32 MHz(符合 APB1 ≤ 36 MHz 要求)。([keil.com][2])

关键寄存器说明

  1. RCC->CR

    • HSION (bit0):开启内部振荡器。
    • HSIRDY (bit1):HSI 就绪标志。
    • PLLON (bit24):开启 PLL。
    • PLLRDY (bit25):PLL 就绪标志。
  2. RCC->CFGR

    • SW(bits1:0):系统时钟切换;00=HSI10=PLL
    • SWS(bits3:2):时钟源就绪标志。
    • PLLSRC(bit16):PLL 源选择;0=HSI/21=HSE
    • PLLMULL(bits21:18):PLL 倍频因子;1110 对应 ×16。
    • HPREPPRE1PPRE2:AHB/APB 预分频。
  3. FLASH->ACR

    • LATENCY(bits2:0):Flash 访问延时周期;在 48–72 MHz 下至少要 2 WS(值 010)。

以上即为使用内部 8 MHz 时钟、最大可达 64 MHz 的配置方案,并附上关键代码修改示例。


资料下载

  • STM32F103C8T6-72Mhz外部晶振改64Mhz内部高速时钟.rar

参考资料

  • [1] STM32F103C8T6标准库修改内部时钟以及去除32最小系统板上的8MHZ和32.768KHZ外部晶振
  • [2] 【Github】NordicPlayground/mbed
http://www.dtcms.com/a/412395.html

相关文章:

  • 好的ppt模板免费下载网站舟山市建设工程质量监督站网站
  • 网站 内容建设存在的问题asp.net商务网站开发
  • 做网站需要用什么系统10岁一12岁的创意手工
  • 人文经济学与人工智能融合发展研究:现状、影响与趋势
  • Gin框架整合Swagger生成接口文档完整指南
  • 织梦图片网站ppt模板免费下载百度云
  • 【JAVA】深入解析Java String类:原理与常用方法
  • h1z1注册网站公路机电工程建设网站
  • 江苏建设网官方网站游戏开发工程师需要学什么
  • 数据的港湾:本地存储 `Storage` API
  • 手机建设网站的目的如何在网上接做网站的小项目
  • build.gradle中的dependencies 中API
  • 室内设计网站资源网站建设公司怎么运营
  • 企业网站联系我们wordpress 漏洞复现
  • 网站建设找宙斯站长工具如何做市场营销推广
  • 进修学校 网站建设目标做网站首页ps中得多大
  • 【训练技巧】Model Exponential Moving Average (EMA)的原理详解及使用举例说明
  • 常见的服务注册(Add Services)
  • 【mdBook】3 创建书籍
  • 如何米尔RK3576开发板上移植EtherCAT Igh
  • 建设公司设计公司网站网页模板怎么做网站
  • 政务门户网站建设方案南京网络推广公司排名
  • 做淘宝网站代理wordpress中文翻译插件
  • [Python编程] Python3 文件操作
  • 济源网站优化网页升级紧急通知中
  • 桂林论坛网网站电话郑州外贸网站制作
  • Gin 框架令牌桶限流实战指南
  • php做自己的网站百度浏览器网页版
  • 珠海网站建设找哪家电子政务与网站建设方面
  • LeetCode:60.单词搜索