
仔细阅读datasheet,控制器有3个低功耗模式,sleep,stop和standby mode。这部分以前测试过,阅读外设功能的时候,会发现该MCU有LPUART,LPTIME等低功耗外设,就是希望如果用到可穿戴设备等低功耗环境下可以正常使用。这次主要测试LPUART,使用LSE作为时钟,最大波特率达到9600bps,如图1所示:![]() 图18 k8 a- D- x. C3 Y0 R2 ?: r; W ( | A. p* e$ f6 Q$ S8 _ 在sleep模式下,可以唤醒MCU。本次测试的功能就是先发送5组数据,然后进入sleep模式,然后由LPUART接收中断唤醒。硬件连接图如图2所示: E+ t9 f, L( g) d3 I ![]() 图2" x' ^+ N. M. e z1 |& r 2 I- m4 b2 i9 i: N( x( n 肯定是先测试发送和接收数据中断正常,然后再加入sleep函数。 ! B& O0 q" c5 h5 E# m3 I ]# U4 m2 \" ] 发送函数在stm32h5xx_hal_uart.h文件中就可以找到,如下所示:
发送成功数据如图3所示:) n3 C# m& z; R- i# S ] ![]() ! M5 D( X0 \4 P& e 图3) S0 q: E3 R( J& _- R- Y ^ ) _3 _1 W- ?" t7 }* J. b! z 接收中断函数如下所示:
, r, Z2 G9 l5 m" }( `! c; F 接收成功数据如图4所示: ![]() & N4 L/ \0 F, c+ x 图4 在发送函数后面增加sleep模式,sleep函数如下所示:( ]. j! L; |) ~
这样debug后,发送5组数据,然后通过上位机发送接收的数据,就可以实现唤醒sleep 模式。唤醒以后,发现存放接收数据的数组Rx被清零,所以使用的时候要及时保存数据。 |
STM32电路知识学习
兔哥的初代M33【002】-H503Nucleo 内部flash操作
实战经验 | 进一步认识STM32H5的OBK
优雅至极!STM32H5咖啡机,高级GUI与安全功能之双响炮
STM32H503生成带dead time的互补PWM
实战经验 | STM32H5 USBD Classic驱动 CDC移植
NUCLEO-H563ZI刷入Micropython固件并点亮LED灯
基于STM32H5的DA之初体验经验分享(带 Trust Zone)
【免费申请】高性能和低成本双Buff加持的NUCLEO H533RE,等你来!
【NUCLEO-H533RE评测】使用双存储区Flash 在不关闭系统的状态下,实现OTA