【STM32U5A5ZJ开发板】EXIT中断测试及低功耗测试
[复制链接]
STM32U5A5ZJ的MCU可以使用1.8V电压进行直接供电,而不经过芯片内部的LDO调压器,这可以大幅度的降低芯片的功耗,而且芯片还具有睡眠等状态的管理,比较遗憾的是如果降到1.5V以下就更好了,直接使用电池供电。因为开发板上设置有可供电压转换的跳线,JP4跳线1-2接为3.3V供电,2-3接为1.8V供电,本次测试在1.8V电压供电下进行。
将 LED1 设置为切换指示 ,显示MCU 是处于睡眠模式还是运行模式。运行闪烁,睡眠熄灭。通过按键BUTTON唤醒。
一、系统设置
PC.13 连接到用户按钮,设置为EXTI中断,并配置为在按下按键时,在下降沿产生中断。PC7连接为LED1。用来指示系统运行状态。系统时钟设置为160MHZ,SysTick 设置为每 1 毫秒生成一个中断。
参考PWR_SLEEP例程,设置。
1、打开STM32CubeMX,选择RCC设置,
将RCC的时钟,高速和低速都设置为内部振荡器,不知道为什么外部时钟不可以工作,试过几次都不成功。
2、设置GPIO引脚
这一步使用默认设置,因为使用了例程中的初始化代码。BUTTON为EXIT中断,PC7为GPIO输出。
3、设置电源管理为SMPS。
直接供电和LDO供电自动切换,这里使用1.8V供电。
4、生成程序
除了程序名称外,注意把生成到root选上,项目使用vscode为开发环境,所以选择STM32CubeIDE类型。
二、测试程序
1、转换为CMAKE项目,VSCODE 打开项目。
转换完后打开文件夹, 程序代码参考例程如下:
三、运行
1、将JP4跳线到1.8V电压。
板子上带了一片LDO芯片,电压降到1.8V。测量了一下差不多。
2、下载程序
因为程序不能在调试模式下运行,所以必须完成编译后使用STM32CubeProgrammer烧录,
程序烧写完成后,RESET一下,启动 板子LED1灯闪烁5秒,
5秒过后,板子LED1熄灭,按BUTTON后,开始闪烁5秒。
过程可以重复。
四、抗干扰测试。
工具还是电子打火机。在睡眠状态,反复的打火,发现并不能使得板子启动。这虽然说明不了什么,但是可以肯定睡眠状态比较稳定。当然这一方法需要改进。等有更好的方案了在进行测试。
|