测试硬件:STM32H533 ,万用表(精度不是很高) 简单介绍一下:STM32H533的目前支持工作模式:CPU睡眠模式,系统待机模式和系统停止模式,其中这三种模式都可以使用RTC进行唤醒,进入到工作模式。 试验效果:系统在启动之后的一段时间后(我们可以自行设置时间)进入低功耗模式,RTC在大约10S后,在上升沿产生中断唤醒。 1:cpu的睡眠模式(CPU_SLEEP_MODE):在此工作模式下,STM32H533主芯片进入睡眠模式,但是外设仍然在保持工作。该模式下的功耗降低效果不是很明显,毕竟外设正在运行,不能很好的降低整体的功耗。 2:cpu停止模式(SYSTEM_STOP_MODE):在此工作模式下,STM32H533主芯片进入停止模式,在此模式下,所有的外设进入停止状态,系统时钟也停止工作,但是内部稳压器继续保持供电,这种模式下的功耗降低明显。 3:cpu待机模式(SYSTEM_STANDBY_MODE):在此工作模式下,STM32H533进入待机状态,功耗最低的模式,系统时钟,外设和内部稳压器都被关闭,仅仅保留备份寄存器和RTC供电,所以可以通过RTC再次唤醒CPU。 二:测试硬件步骤: 图示中:J2引脚为CPU供电测试点,将万用表引脚的电流测量端进入J2处即可。 3D效果图位置如下: 三:cube软件配置过程: 系统主时钟配置: RTC设置:设置唤醒时钟和中断时钟分频外, 需要开启RTC中断。 RTC的时钟源为内部32K时钟频率,16 DIV的分频系数为2K的频率。0x2838=10296的时间大约为5秒,所以唤醒为休眠后5秒,也可以使用按键唤醒。 四:程序代码如下: / Reset of all peripherals, Initializes the Flash interface and the Systick. / HAL_Init(); / USER CODE BEGIN Init / HAL_PWR_EnableBkUpAccess(); / USER CODE END Init / / Configure the system clock / SystemClock_Config(); / USER CODE BEGIN SysInit / / Initialize LED2 and LED2 / BSP_LED_Init(LED2); BSP_LED_Init(LED2); / Turn LED2 on / BSP_LED_On(LED2); / Delay 5 seconds / HAL_Delay(5000); / USER CODE END SysInit / / Initialize all configured peripherals / MX_GPIO_Init(); MX_ICACHE_Init(); MX_RTC_Init(); / USER CODE BEGIN 2 / / Turn LED2 on / BSP_LED_Off(LED2); if defined (CPU_SLEEP_MODE)/ Suspend Tick increment / HAL_SuspendTick(); / Enter the CPU to SLEEP mode / HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI) ; / Resume Tick increment / HAL_ResumeTick(); elif defined (SYSTEM_STOP_MODE)/ Enter the SYSTEM to STOP mode / HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI); elif defined (SYSTEM_STANDBY_MODE)/ Enter the SYSTEM to STANDBY mode / HAL_PWR_EnterSTANDBYMode(); endif / Power mode /if (!defined (SYSTEM_STANDBY_MODE))/ Reset the system after wake up / HAL_NVIC_SystemReset(); endif/ USER CODE END 2 / / Infinite loop / / USER CODE BEGIN WHILE / while (1) { / USER CODE END WHILE / / USER CODE BEGIN 3 / } / USER CODE END 3 / } 实际测试图片: 正常功耗如下:为23.7ma 进入CPU睡眠时间为13.20ma,此时功耗降低了近一半。 进入CPU待机功耗为2.42ma, 进入CPU停止功耗为0.32ma, 实际测试不同模式下的功耗对比: CPU_SLEEP_MODE 模式:13.20mA SYSTEM_STANDBY_MODE 模式:2.42mA SYSTEM_STOP_MODE 模式:0.32mA |
【STM32N6570-DK评测】2.最简点灯
【STM32N6570-DK评测】1.你好N6
X-NUCLEO-IKS4A1实现手势滑动
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法
【Wio Lite AI视觉开发套件】+cube.ai与食物识别
刘氓兔的杂谈【001】-片上USB 高速PHY
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题
实战经验 | 从CubeMX下载生成STM32元件封装库
【STEVAL-STWINKT1B测评】1、点亮LED