
仔细阅读datasheet,控制器有3个低功耗模式,sleep,stop和standby mode。这部分以前测试过,阅读外设功能的时候,会发现该MCU有LPUART,LPTIME等低功耗外设,就是希望如果用到可穿戴设备等低功耗环境下可以正常使用。这次主要测试LPUART,使用LSE作为时钟,最大波特率达到9600bps,如图1所示:![]() ; |4 F0 x. `0 o8 J/ v" W 图1 6 q( E% q' n" K 在sleep模式下,可以唤醒MCU。本次测试的功能就是先发送5组数据,然后进入sleep模式,然后由LPUART接收中断唤醒。硬件连接图如图2所示:# W5 w' V7 ]1 j0 }3 B) |0 t ![]() 图2 7 s* h: V, _( @0 F' [* f 肯定是先测试发送和接收数据中断正常,然后再加入sleep函数。 & |8 F: S: S, X4 S# O. s# K 发送函数在stm32h5xx_hal_uart.h文件中就可以找到,如下所示:! A0 v! z0 M; Y$ L! j% h! ]
发送成功数据如图3所示:- H9 M+ S* k( P; `0 i8 B0 h ![]() 图31 c* U% T9 a7 l0 D, k & i; X- q6 g$ f: \4 O: d9 o 接收中断函数如下所示:$ B' w+ k' `7 @' L5 N8 j8 J+ \
' K: y) U0 S' Z2 a' y 接收成功数据如图4所示: {, w G) r! M ![]() $ j Z' h% C; G+ W 图4 在发送函数后面增加sleep模式,sleep函数如下所示:
这样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