STM32CubeMX学习笔记(16)——电源管理(PWR)低功耗停止模式

发布者:EnchantedDream最新更新时间:2025-02-19 来源: jianshu关键字:STM32CubeMX  电源管理  PWR  低功耗  停止模式 手机看文章 扫描二维码
随时随地手机看文章

一、低功耗模式简介

系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗。由用户根据应用选择具体的低功耗模式,以在低功耗、短启动时间和可用唤醒源之间寻求最佳平衡。

睡眠模式、停止模式及待机模式中,若备份域电源正常供电,备份域内的 RTC 都可以正常运行,备份域内的寄存器的数据会被保存,不受功耗模式影响。

从表中可以看到,这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。

模式名称说明进入方式唤醒方式对1.8V区域时钟的影响对VDD区域时钟的影响调压器
睡眠模式内核停止,所有外设包括M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行调用WFI命令任意中断内核时钟关,对其他时钟和ADC时钟无影响
睡眠模式内核停止,所有外设包括M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行调用WFE命令唤醒事件内核时钟关,对其他时钟和ADC时钟无影响
停止模式所有的时钟都已停止配置PWR_CR寄存器的PDDS+LPDS位+SLEEPDEEP位+WFI或WFE命令任意外部中断EXTI(在外部中断寄存器中设置)关闭所有1.8V区域的时钟HSI和HSE的振荡器关闭开启或处于低功耗模式(依据电源控制寄存器的设定)
待机模式1.8V电源关闭配置PWR_CR寄存器的PDDS+SLEEPDEEP位+WFI或WFE命令WKUP上升沿、引脚的RTC闹钟事件、NRST引脚上的外部复位、IWDG复位关闭所有1.8V区域的时钟HSI和HSE的振荡器关闭

1.1 睡眠模式

在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设,CM3 核心的外设全都还照常运行。有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for interrupt) 和 WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。

特性和说明:

  • 立即睡眠: 在执行 WFI 或 WFE 指令时立即进入睡眠模式。

  • 退出时睡眠: 在退出优先级最低的中断服务程序后才进入睡眠模式。

  • 进入方式: 内核寄存器的 SLEEPDEEP=0 ,然后调用 WFI 或 WFE 指令即可进入睡眠模式;SLEEPONEXIT=1 时,进入“退出时睡眠”模式。

  • 唤醒方式: 如果是使用 WFI 指令睡眠的,则可使用任意中断唤醒;如果是使用 WFE 指令睡眠的,则由事件唤醒。

  • 睡眠时: 关闭内核时钟,内核停止,而外设正常运行,在软件上表现为不再执行新的代码。这个状态会保留睡眠前的内核寄存器、内存的数据。

  • 唤醒延迟: 无延迟。

  • 唤醒后: 若由中断唤醒,先进入中断,退出中断服务程序后,接着执行 WFI 指令后的程序;若由事件唤醒,直接接着执行 WFE 后的程序。

1.2 停止模式

在停止模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.8V 区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新开启时钟后,还可以从上次停止处继续执行代码。停止模式可以由任意一个外部中断(EXTI)唤醒,在停止模式中可以选择电压调节器为开模式或低功耗模式。

特性和说明:

  • 调压器低功耗模式: 在停止模式下调压器可工作在正常模式或低功耗模式,可进一步降低功耗。

  • 进入方式: 内核寄存器的 SLEEPDEEP=1,PWR_CR 寄存器中的 PDDS=0,然后调用 WFI 或 WFE 指令即可进入停止模式;PWR_CR 寄存器的 LPDS=0 时,调压器工作在正常模式,LPDS=1 时工作在低功耗模式。

  • 唤醒方式: 如果是使用 WFI 指令睡眠的,可使用任意 EXTI 线的中断唤醒;如果是使用 WFE 指令睡眠的,可使用任意配置为事件模式的 EXTI 线事件唤醒。

  • 停止时: 内核停止,片上外设也停止。这个状态会保留停止前的内核寄存器、内存的数据。

  • 唤醒延迟: 基础延迟为 HSI 振荡器的启动时间,若调压器工作在低功耗模式,还需要加上调压器从低功耗切换至正常模式下的时间。

  • 唤醒后: 若由中断唤醒,先进入中断,退出中断服务程序后,接着执行 WFI 指令后的程序;若由事件唤醒,直接接着执行 WFE 后的程序。唤醒后,STM32 会使用 HSI 作为系统时钟。

1.3 待机模式

待机模式,它除了关闭所有的时钟,还把 1.8V 区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测 boot 条件,从头开始执行程序。它有四种唤醒方式,分别是 WKUP(PA0)引脚的上升沿,RTC 闹钟事件,NRST 引脚的复位和 IWDG(独立看门狗)复位。

特性和说明:

  • 进入方式: 内核寄存器的 SLEEPDEEP=1,PWR_CR 寄存器中的 PDDS=1,PWR_CR 寄存器中的唤醒状态位 WUF=0,然后调用 WFI 或 WFE 指令即可进入待机模式。

  • 唤醒方式: 通过 WKUP 引脚的上升沿,RTC 闹钟、唤醒、入侵、时间戳事件或 NRST 引脚外部复位及 IWDG 复位唤醒。

  • 待机时: 内核停止,片上外设也停止;内核寄存器、内存的数据会丢失;除复位引脚、RTC_AF1 引脚及 WKUP 引脚,其它 I/O 口均工作在高阻态。

  • 唤醒延迟: 芯片复位的时间。

  • 唤醒后: 相当于芯片复位,在程序表现为从头开始执行代码。

1.4 WFI与WFE命令

我们了解到进入各种低功耗模式时都需要调用 WFI 或 WFE 命令,它们实质上都是内核指令,在库文件 core_cm3.h 中把这些指令封装成了函数。


/** brief 等待中断

  等待中断 是一个暂停执行指令

  暂停至任意中断产生后被唤醒

*/

#define __WFI        __wfi 


/** brief 等待事件

  等待事件 是一个暂停执行指令

  暂停至任意事件产生后被唤醒

*/

#define __WFE        __wfe


对于这两个指令,我们应用时一般只需要知道,调用它们都能进入低功耗模式,需要使用函数的格式“__WFI();”和“__WFE();”来调用(因为__wfi 及__wfe 是编译器内置的函数,函数内部调用了相应的汇编指令)。

其中 WFI 指令决定了它需要用中断唤醒,而 WFE 则决定了它可用事件来唤醒。

二、新建工程

1. 打开 STM32CubeMX 软件,点击“新建工程”


2. 选择 MCU 和封装


3. 配置时钟
RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
开启 LSE(外部低速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)


选择 Clock Configuration,配置系统时钟 SYSCLK 为 72MHz
修改 HCLK 的值为 72 后,输入回车,软件会自动修改所有配置


4. 配置调试模式
非常重要的一步,否则会造成第一次烧录程序后续无法识别调试器
SYS 设置,选择 Debug 为 Serial Wire


三、停止模式

3.1 WFI按键外部中断唤醒

3.1.1 流程图

3.1.2 HAL库与标准库代码比较

STM32CubeMX 使用 HAL 库的代码:

int main(void)

{

    ···

    while(1)

    {

        ···

        // 暂停滴答时钟,防止通过滴答时钟中断唤醒

        HAL_SuspendTick();

        /* 进入停止模式,设置电压调节器为低功耗模式,等待中断唤醒 */

        HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI);

        SYSCLKConfig_STOP();

        // 被唤醒后,恢复滴答时钟

        HAL_ResumeTick();

        ···

    }

}


static void SYSCLKConfig_STOP(void)

{

    RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

    RCC_OscInitTypeDef RCC_OscInitStruct = {0};

    uint32_t pFLatency = 0;

   

    /* 启用电源控制时钟 */

    __HAL_RCC_PWR_CLK_ENABLE();

  

    /* 根据内部 RCC 寄存器获取振荡器配置 */

    HAL_RCC_GetOscConfig(&RCC_OscInitStruct);

  

    /* 从停止模式唤醒后重新配置系统时钟: 启用 HSE 和 PLL */

    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

    RCC_OscInitStruct.HSEState = RCC_HSE_ON;

    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) 

    {

        while (1)

        {;

        }

    }

    /* 根据内部 RCC 寄存器获取时钟配置 */

    HAL_RCC_GetClockConfig(&RCC_ClkInitStruct, &pFLatency);

    /* 选择 PLL 作为系统时钟源, 并配置 HCLK、PCLK1 和 PCLK2 时钟分频系数 */

    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK;

    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, pFLatency) != HAL_OK) 

    {

        while (1) 

        {;

        }

    }

}


使用 STM32 标准库的代码:

int main(void)

{

    ···

    while(1)

    {

        ···

        /* 进入停止模式,设置电压调节器为低功耗模式,等待中断唤醒 */

        PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

        // 从停止模式下被唤醒后使用的是 HSI 时钟,此处重启 HSE 时钟,使用 PLLCLK

        SYSCLKConfig_STOP();

        ···

    }

}


static void SYSCLKConfig_STOP(void)

{

    /* 停机唤醒后配置系统时钟 */

    /* 使能 HSE */

    RCC_HSEConfig(RCC_HSE_ON);

  

    /* 等待 HSE 准备就绪 */

    while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);

   

    /* 使能 PLL */

    RCC_PLLCmd(ENABLE);

   

    /* 等待 PLL 准备就绪 */

    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

   

    /* 选择 PLL 作为系统时钟源 */

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  

    /* 等待 PLL 被选择为系统时钟源 */

    while (RCC_GetSYSCLKSource() != 0x08);

}


3.1.3 添加按键

初始化按键 PA0 中断模式,以便当系统进入睡眠模式的时候可以通过按键来唤醒。
查看 STM32CubeMX学习笔记(3)——EXTI(外部中断)接口使用

3.1.4 添加LED灯

添加绿灯 PB0 表示运行状态,红灯 PB5 表示睡眠状态,蓝灯 PB1 表示刚从睡眠状态中被唤醒。
查看 STM32CubeMX学习笔记(2)——GPIO接口使用

3.1.5 添加串口打印

添加 USART1 用于打印信息。
查看 STM32CubeMX学习笔记(6)——USART串口使用

3.1.6 生成代码

输入项目名和项目路径


选择应用的 IDE 开发环境 MDK-ARM V5


每个外设生成独立的 ’.c/.h’ 文件
不勾:所有初始化代码都生成在 main.c
勾选:初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。


点击 GENERATE CODE 生成代码


3.1.7 修改中断回调函数

当系统进入停止状态后,我们按下实验板上的 KEY1 按键,即可使系统回到正常运行的状态,当执行完中断服务函数后,会继续执行 WFI 指令后的代码。

打开 stm32f1xx_it.c 中断服务函数文件,找到 EXTI0 中断的服务函数 EXTI0_IRQHandler()
中断服务函数里面就调用了 GPIO 外部中断处理函数 HAL_GPIO_EXTI_IRQHandler()


打开 stm32f1xx_hal_gpio.c 文件,找到外部中断处理函数原型 HAL_GPIO_EXTI_IRQHandler(),其主要作用就是判断是几号线中断,清除中断标识位,然后调用中断回调函数 HAL_GPIO_EXTI_Callback()。


/* NOTE: This function Should not be modified, when the callback is needed,
the HAL_GPIO_EXTI_Callback could be implemented in the user file
*/
这个函数不应该被改变,如果需要使用回调函数,请重新在用户文件中实现该函数。

HAL_GPIO_EXTI_Callback() 按照官方提示我们应该再次定义该函数,__weak 是一个弱化标识,带有这个的函数就是一个弱化函数,就是你可以在其他地方写一个名称和参数都一模一样的函数,编译器就会忽略这一个函数,而去执行你写的那个函数;而 UNUSED(GPIO_Pin) ,这就是一个防报错的定义,当传进来的GPIO端口号没有做任何处理的时候,编译器也不会报出警告。其实我们在开发的时候已经不需要去理会中断服务函数了,只需要找到这个中断回调函数并将其重写即可而这个回调函数还有一点非常便利的地方这里没有体现出来,就是当同时有多个中断使能的时候,STM32CubeMX会自动地将几个中断的服务函数规整到一起并调用一个回调函数,也就是无论几个中断,我们只需要重写一个回调函并判断传进来的端口号即可。


接下来我们就在 stm32f1xx_it.c 这个文件的最下面添加 HAL_GPIO_EXTI_Callback()


/* USER CODE BEGIN 1 */

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

{

    // 亮蓝灯

    HAL_GPIO_WritePin(GPIOB, LED_B_Pin, GPIO_PIN_RESET);

}

/* USER CODE END 1 */


3.1.8 修改main函数

初始化完成后使用 LED 及串口表示运行状态,LED 灯为绿色时表示正常运行,红灯时表示停止状态,蓝灯时表示刚从停止状态中被唤醒。在停止模式下,I/O 口会保持停止前的状态,所以 LED 彩灯在停止模式时也会保持亮红灯。

程序执行一段时间后,调用库函数 HAL_PWR_EnterSTOPMode 把调压器设置在低功耗模式,进入停止状态。由于 WFI 停止模式可以使用任意 EXTI 的中断唤醒,所以我们可以使用按键中断唤醒。

当系统进入停止状态后,我们按下实验板上的 KEY1 按键,即可唤醒系统,当执行完中断服务函数后,会继续执行 HAL_PWR_EnterSTOPMode 函数后的代码。

/**

  * @brief  The application entry point.

  * @retval int

  */

int main(void)

{

  /* USER CODE BEGIN 1 */

  uint32_t SYSCLK_Frequency = 0;

  uint32_t HCLK_Frequency = 0;

  uint32_t PCLK1_Frequency = 0;

  uint32_t PCLK2_Frequency = 0;

  uint32_t SYSCLK_Source = 0;

  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/


  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();


  /* USER CODE BEGIN Init */


  /* USER CODE END Init */


  /* Configure the system clock */

  SystemClock_Config();


  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */


  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  /* USER CODE BEGIN 2 */

  printf('stop mode testrn');

  /* USER CODE BEGIN 2 */

  

  /* USER CODE END 2 */


  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

  {

    // 使用绿灯指示,运行状态

    HAL_GPIO_WritePin(GPIOB, LED_G_Pin, GPIO_PIN_RESET);

    HAL_Delay(2000);

    HAL_GPIO_WritePin(GPIOB, LED_G_Pin, GPIO_PIN_SET);

    // 任务执行完毕,进入睡眠降低功耗


    // 使用红灯指示,进入停止状态

    HAL_GPIO_WritePin(GPIOB, LED_R_Pin, GPIO_PIN_RESET);

    // 暂停滴答时钟,防止通过滴答时钟中断唤醒

    HAL_SuspendTick();

    // 使能PWR时钟

    __HAL_RCC_PWR_CLK_ENABLE();

    // 清除唤醒标记

    __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);

    // 进入停止模式

    HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);


    HAL_GPIO_WritePin(GPIOB, LED_R_Pin, GPIO_PIN_SET);

    // 刚从STOP模式唤醒时钟默认使用内部高速8M时钟,所以需要重新配置时钟

    SystemClock_Config();

    // 被唤醒后,恢复滴答时钟

    HAL_ResumeTick();

    // 获取重新配置后的时钟状态

    SYSCLK_Frequency = HAL_RCC_GetSysClockFreq();

    HCLK_Frequency = HAL_RCC_GetHCLKFreq();

    PCLK1_Frequency = HAL_RCC_GetPCLK1Freq();

    PCLK2_Frequency = HAL_RCC_GetPCLK2Freq();

    SYSCLK_Source = __HAL_RCC_GET_SYSCLK_SOURCE();

  

[1] [2]
关键字:STM32CubeMX  电源管理  PWR  低功耗  停止模式 引用地址:STM32CubeMX学习笔记(16)——电源管理(PWR)低功耗停止模式

上一篇:STM32CubeMX学习笔记(17)——电源管理(PWR)低功耗待机模式
下一篇:STM32CubeMX学习笔记(15)——电源管理(PWR)低功耗睡眠模式

推荐阅读最新更新时间:2026-03-22 23:01

STM32中RTC唤醒停止模式
在STM32的低功耗模式中,有一种RTC停止模式,可以通过RTC计时产生的中断来唤醒。 主要步骤为: 1.配置低功耗的引脚,设置为模拟状态,关各种时钟 2.开启RTC唤醒事件,配置RTC产生中断的时间长度 3.进入RTC停止模式,等待RTC的中断产生 4.RTC中断产生后,唤醒停止模式 具体代码如下:
[单片机]
STM32中RTC唤醒<font color='red'>停止</font><font color='red'>模式</font>
Nordic Semiconductor 的 nPM2100 电源管理 IC 延长了原电池供电蓝牙低功耗产品的电池寿命
Nordic Semiconductor 的 nPM2100 电源管理 IC 延长了原电池供电蓝牙低功耗产品的电池寿命 nPM2100 PMIC 集成了超高效升压稳压器和多种节能功能,可大幅延长非充电电池应用的工作时间 挪威奥斯陆 – 2025年2月10日 – 低功耗无线连接解决方案的全球领导者 Nordic Semiconductor 今天宣布, 其 nPM 电源管理集成电路 (PMIC) 系列再添新成员。nPM2100 PMIC 通过使用超高效升压稳压器和各种节能功能管理能源资源,延长了一次性原(非充电)电池应用中每块电池的工作时间 。nPM2100 的应用示例包括无线鼠标和键盘、消费资产跟踪、遥控器和随身医疗设备。
[网络通信]
Nordic Semiconductor 的 nPM2100 <font color='red'>电源管理</font> IC 延长了原电池供电蓝牙<font color='red'>低功耗</font>产品的电池寿命
STM8S低功耗电源管理
1STM8S功耗来源 STM8S功耗分静态功耗和动态功耗。 静态功耗:主要由晶体管的偏置电流和漏电流产生。 动态功耗:取决于电源电压和工作时钟频率。 在CMOS逻辑电路以一定时钟频率运行时,静态功耗与动态功耗相比是可以忽略的。但在一些低功耗模式下,时钟不再运行,此时静态功耗是主要的功耗源。 因此,功耗主要取决于: 1.微控制器单元(MCU)的芯片面积:所采用的工艺,晶体管的数量,片上集成和使用的模拟功能/外设。 2.MCU电源电压: CMOS逻辑电路中消耗的电流与电源电压的平方成正比。因此,可以通过降低供电电压来降低功耗。 3.时钟频率:在不要求进行高速处理的应用中,降低时钟频率可以降低功耗。
[单片机]
STM32F429 >> 18. 电源管理_实现低功耗(Code)
睡眠 进入睡眠的方式很简单: 只需要调用WFI 或WFE 命令,在睡眠模式中,内核停止,但是所有外设,包括M4 核心的外设均处于工作状态中。 唤醒睡眠的方式: 任一中断; 唤醒事件。 // Wait For Interrupt __WFI(); // Wait For Event __WFE(); 停止 进入停止的操作为: 调用 PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry) 函数。 唤醒停止的操作为: 任一外部中断。 PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEn
[单片机]
RICOH低功耗高精度汽车级电源管理IC 可在世强免费申请
世强元件电商,RICOH(理光微电子)电源管理IC样品申请活动,正在火热进行中,点击活动网站:https://www.sekorm.com/doing/enroll/74418534.html 注册成为世强元件电商VIP会员,即可参与活动。此次可以申请的样品包括,R1524x 系列、RP130x 系列、RP170x 系列、R1513x 系列、R1517x 系列、R1245x系列、RP550x系列、R5110x 系列等,可以应用在汽车配件的电源、汽车音响设备、导航系统、车身控制、电源管理系统、电动汽车ECU等领域... 关于Ricoh RICOH(理光微电子)是隶属世界五百强之一理光集团的全资子公司,总部位于日本大阪
[汽车电子]
TI-RTOS 2.12将高级电源管理能力引入互连与低功耗开发
    北京2015年4月10日电 /美通社/ -- 随着物联网 (IoT) 在日常用品中应用范围的逐步扩大,简化针对互连应用的软件开发变得越来越重要。德州仪器 (TI) (NASDAQ: TXN) 日前宣布了其整个实时操作系统 (RTOS) 的关键性升级。此次升级简化了基于嵌入式微控制器 (MCU) 的应用对于 Android 和 Windows 等高级操作系统内电源管理的使用性。因此,凭借TI-RTOS 2.12,开发人员可以轻松利用内置于 TI 器件的电源管理特性来创建具有更长电池使用寿命的 IoT 应用。为了在 TI 整个嵌入式处理产品组合中实现普及, TI-RTOS 2.12可进行免费升级,旨在帮助开发人员专注于实现应用差
[手机便携]
电源管理芯片的低功耗OMAP系统设计方案
电源管理芯片的低功耗OMAP系统设计方案   半导体设计和制作工艺技术的不断提高,使电路板上的器件运行速度更快、体积更小。供电系统要求更多种类的电压、更低的供电电压和更大的供电电流。电源设计不再仅仅局限于提供电流、电压和监控温度,还必须诊断电源供应情况、灵活设定每个输出电压参数。普通的模拟解决方案难以满足这些需求。数字电源的目标就是将电源转换与电源管理用数字方法集成到单个芯片中,实现电源转换、控制和通信。   数字电源实现了数字和模拟技术的融合,具有很强的适应性和灵活性,具备直接监视、处理及适应系统条件的能力。数字电源还可通过远程诊断确保持续的系统可靠性,实现故障管理、过压过流保护、自动冗余等功能。但是数字电源不比传统的模拟电
[电源管理]
<font color='red'>电源管理</font>芯片的<font color='red'>低功耗</font>OMAP系统设计方案
配置CLion + STM32CubeMX开发环境
0.前言 由于本人对Keil的编译环境不太满意,故在网上搜寻了各种代替方法,最终选定了CLoin的IDE,它可以支持从STM32CubeMX生成的代码直接编译,节省了大量时间去配置初始化代码,以下只作为本人的一次环境搭建的踩坑记录,希望对正在解决问题的你有所帮助。 本次配置参考了如下几位大佬的说明 配置CLion用于STM32开发【优雅の嵌入式开发】 - 哔哩哔哩 (bilibili.com) 使用Clion优雅开发STM32 _哔哩哔哩_bilibili Clion实现Stm32标准库开发 - 哔哩哔哩 (bilibili.com) 网页链接 1.环境所需配置搭建 首先确保已经安装了stlink的驱动,如使用的是
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved