[STM32H5]【NUCLEO- H563ZI 测评】+ 测下几种低功耗模式

1、STM32H5作为目前“最强大”的M33内核单片机,拥有强劲的性能和超低的功耗,最高运行时钟250MHz时  375 DMIPS & 1023 CoreMark。带有内部和外部存储器的指令和数据缓存(ART Accelerator)。
下面我们要测试是STM32H5的低功耗,官方给的数据如下:

 



250MHZ的运行功耗为61uA/MHz,这个数据相当优秀了。作为对比,国内某家的M23内核单片机66uA/MHz,最大时钟为64MHz.

他们都采用了40nm超低功耗制造技术。实际使用的时候可以根据需要将STM32H5的时钟适当降低来获得更低的功耗。
2、STM32H5有3种低功耗模式:Sleep mode、Stop mode、Standby mode 。这和我们之前接触的大部分STM32单片机比较类似。
具体的休眠模式的进入模式,唤醒方式,以及唤醒后时钟,可以参考下面的表格。
 



3、下面的测试使用STM32Cube_FW_H5_V1.1.0里面提供关于低功耗的例子,直接运行程序进行电流测试。需要说明的是这个测试
只是简单的对比运行时的功耗和相应的低功耗模式之间的差异。程序休眠的时候没有对外设和空闲IO等进行低功耗设置,所以测试的结果并
不能简单代表对应休眠模式最低功耗!
0)运行模式功耗(250MHz时钟,一个LED闪烁)
 


1)sleep mode
进入sleep休眠可以使用下面的代码,唤醒方式使用用户按键作为外部中断。

复制
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);


进入STOP模式

复制
HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI)


进入Standby

复制
void HAL_PWR_EnterSTANDBYMode(void)



需要说明的是STM32Cube_FW_H5_V1.1.0里面这几个低功耗测试只是简单体验下各种低功耗模式如何进入和唤醒方式,具体到功耗还有很大的优化空间。
测试代码路径:STM32Cube_FW_H5_V1.1.0\Projects\NUCLEO-H563ZI\Examples\PWR
---------------------
作者:OldestTrick
链接:https://bbs.21ic.com/icview-3321800-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

### NUCLEO-H563ZI 开发板 STM32 技术文档与例程 #### 一、技术文档概述 NUCLEO-H563ZI 是基于 STM32H5 系列微控制器的开发板,其技术支持广泛且全面。官方提供了丰富的技术文档来帮助开发者快速上手该开发板。这些文档涵盖了硬件设计指南、软件配置说明以及具体的应用场景指导。 - **硬件设计指南** 原理图和 PCB 文件对于理解开发板的设计至关重要[^2]。虽然在某些情况下可能难以找到这些文件的位置,但它们通常被放置于 CAD 资料包中。可以通过访问 ST 官方网站上的产品页面下载完整的硬件设计资料。 - **软件配置手册** 对于 ARDUINO 开发环境的支持自版本 2.6.0 开始加入对 NUCLEO-H563ZI 的支持[^1]。此外,STM32CubeMX 和 STM32CubeIDE 提供了图形化的工具链用于生成初始代码框架,并简化复杂外设的初始化过程。 --- #### 二、典型例程详解 ##### 1. USART 串口通信 串口通信是最基础的功能之一,在实际项目中经常作为调试手段或者与其他设备交换数据的主要途径。然而,在使用过程中需要注意一些细节设置: - 每次重新生成代码时,默认配置会被覆盖,因此需要手动调整 MicroLIB 库选项以及是否启用自动复位功能[^2]。 - 示例程序展示了如何通过 USART 接收来自外部的数据流并将其打印回发送端。 ```c #include "usart.h" void UART_Init(void){ HAL_UART_Init(&huart3); } int main(void){ UART_Init(); uint8_t buffer[10]; while(1){ if(HAL_UART_Receive(&huart3, buffer, sizeof(buffer), HAL_MAX_DELAY)==HAL_OK){ HAL_UART_Transmit(&huart3, buffer, sizeof(buffer), HAL_MAX_DELAY); } } } ``` --- ##### 2. Ethernet 功能实现 (TCP Client) Ethernet 接口使得 NUCLEO-H563ZI 不仅限于本地嵌入式系统内部通讯,还可以接入更广阔的互联网世界。下面是一个简单的 TCP 客户端案例描述[^3]: - 使用 ThreadX RTOS 和 NetXDuo 协议栈完成底层网络服务构建; - 创建 Socket 并建立至指定 IP 地址的服务端连接; - 循环读取远程主机传来的消息内容并将长度反馈回去。 ```c #define SERVER_IP "192.168.0.100" #define LOCAL_PORT 49152 #define REMOTE_PORT 80 NX_PACKET *packet_ptr; // 初始化函数省略... uint32_t data_received; while(TRUE){ status = nx_tcp_client_socket_receive(&client_socket, &packet_ptr, NX_WAIT_FOREVER); if(status == NX_SUCCESS){ memcpy(received_buffer, packet_ptr -> nx_packet_prepend_ptr, packet_ptr->nx_packet_length); // 发送响应给服务器 sprintf(response_message,"Bytes Received:%d",packet_ptr->nx_packet_length); tx_mutex_get(&mutex_id,NX_WAIT_FOREVER); nx_tcp_client_socket_send(&client_socket,response_message,strlen(response_message)+1,NX_NO_TIME); tx_mutex_put(&mutex_id); nx_packet_release(packet_ptr); }else{ break; } } ``` --- ##### 3. AI 模型部署注意事项 尽管当前讨论的重点并非人工智能领域,但在现代物联网应用中不可避免涉及到边缘计算相关内容。如果尝试将预训练好的神经网络移植到此平台上,则需特别留意权限管理方面可能出现的问题[^4]。例如当保存分析报告文件夹路径存在特殊字符编码情况时容易引发拒绝访问异常现象。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值