登录/注册

stm32f103 systeminit

更多

在 STM32F103 系列微控制器中,SystemInit() 是 ST 官方提供的系统初始化函数,通常由启动文件(如 startup_stm32f10x_xx.s)中的 Reset_Handler 调用。它的主要作用是初始化芯片的时钟系统关键外设配置,确保芯片在启动后以正确的时钟频率运行。


主要功能:

  1. 时钟配置

    • 默认使用内部高速时钟(HSI,8MHz)作为系统时钟源。
    • 配置 Flash 预取(Prefetch)和等待周期(根据时钟频率自动调整)。
    • 可选配置外部时钟(HSE)和锁相环(PLL)以提升系统时钟(最高 72MHz)。
  2. 中断向量表重定位

    • 设置中断向量表的起始地址(默认在 Flash 的 0x08000000)。

调用时机


自定义配置

如果你需要修改默认的时钟配置(例如使用外部晶振 HSE 或超频):

  1. system_stm32f10x.c 文件中找到 SystemInit() 函数。
  2. 修改以下宏定义以启用外部时钟和 PLL:
    #define SYSCLK_FREQ_72MHz  72  // 目标系统时钟频率
    #define USE_HSE            // 使用外部晶振
  3. 调整 PLL 分频系数(例如 HSE 8MHz → PLL 9倍频 → 72MHz 系统时钟)。

注意事项


示例代码(标准库)

void SystemInit(void) {
  // 1. 复位 RCC 寄存器到默认值
  RCC->CR |= 0x00000001;     // 启用 HSI
  RCC->CFGR = 0x00000000;    // 复位时钟配置
  // ... 其他寄存器复位

  // 2. 配置时钟
#ifdef USE_HSE
  RCC->CR |= 0x00010000;     // 启用 HSE
  while(!(RCC->CR & 0x00020000)); // 等待 HSE 就绪
  // 配置 PLL:HSE 作为输入,9倍频 → 72MHz
  RCC->CFGR |= 0x001D0400;   
#endif

  // 3. 设置 Flash 等待周期
  FLASH->ACR |= 0x12;        // 2 等待周期(72MHz 时需要)
}

如果需要更详细的时钟配置,可以参考 STM32CubeMX 工具自动生成的代码。

STM32F103VET6

1970-01-01 08:00:00 至 1970-01-01 08:00:00

ARM系列STM32F103芯片的解密方法

本文介绍ARM系列STM32F103芯片的解密方法,其内核是Cortex-M3,内存从16K-512K都有。

2024-02-28 11:20:34

stm32f103 flash模拟eeprom

STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其中

2024-01-09 11:21:36

基于STM32F103的SVPWM算法实现

基于STM32F103的SVPWM算法实现

资料下载 jinyi7016 2022-03-22 12:12:17

STM32F103用户使用手册

STM32F103用户使用手册

资料下载 倚東聽海 2021-12-06 09:47:21

基于STM32f103的输入捕获测频率和占空比

基于STM32f103的输入捕获测频率和占空比

资料下载 shyshyshy 2021-08-02 10:10:24

基于STM32f103的FFT频率测试程序下载

基于STM32f103的FFT频率测试程序下载

资料下载 shyshyshy 2021-08-02 10:07:20

基于STM32f103使用的DAC正弦波

基于STM32f103使用的DAC正弦波

资料下载 shyshyshy 2021-08-02 10:05:00

学习STM32F103的ADC功能

三勺最近在学习STM32F103的ADC功能,居然连最简单的独立模式的单通道的电压采集都不能实现,这就不能忍了,这是对智商的侮辱。

2023-10-24 16:06:03

学习STM32F103的DAC功能

三勺最近在学习STM32F103的DAC功能,本文主要解释在配置DAC寄存器实现相应功能时遇到的一些问题。

2023-10-24 16:00:10

ARM系列STM32F103芯片的解密方法

破解STM32F103芯片的方法

2023-09-19 09:03:40

ch32v103stm32f103的区别

ch32v103与stm32f103的区别  Ch32v103与STM32f103

2023-08-22 15:49:00

STM32F103 GPIO内部电路图讲解

STM32F103 GPIO内部电路图讲解

2023-02-01 16:32:14

基于STM32F103单片机的矩阵按键设计

本实验使用STM32F103单片机,主题代码通用的。

2022-12-09 17:18:46

stm32f030和stm32f103功能差异

stm32f030和stm32f103功能差异主要表现在哪?

2021-07-22 09:35:47

7天热门专题 换一换
相关标签