Nucleo-L4R5ZI评测3 低功耗测试
Nucleo-L4R5ZI评测3 低功耗测试STM32Cube_FW_L4_V1.10.0演示代码为我们提供了低功耗测试DEMO。该演示将板上的LPUART1虚拟成串口,方便我们在上位机上通过键盘输入远程指令数字0-12来测试不同工作模式下的功耗。我们可以在板上的IDD插座上连接数字电流表来观察工作电流值。每进行一次测试后,按一下开发板的“RESET”键,就可以再进行下一次测试。
以下是测试结果,由于手头数字表精度有限,加上内阻的不同,与官方公布的数据有所出入,尤其是小电流,只供参考。
0. SHUTDOWN
1. STANDBY
2. STANDBY+RTC
3. STANDBY+RTC+SRAM2
4.STOP2
5.STOP2+RTC
6.STOP1+MR_OFF
7.STOP2+MR_OFF+RTC
8.LPSLEEP 2MHZ -FLASH OFF
9.LPRUN 2MHZ -WHILE FLASH ART ON
10.SLEEP Range 2, 24MHZ -WHILE FLASH ART ON
11.SLEEP Range 1, 80MHZ -WHILE FLASH ART ON
12.RUN Range 2, 24MHZ -WHILE FLASH ART ON
13.RUN Range 1, 804MHZ -WHILE FLASH ART ON
可见这是一款功耗非常低的芯片。
元老您新年好!看了您的文档——实际上在什么地方也看到过一样的介绍。您共享的PWR_ModesSelection.rar文档我也下载过。我的问题是:1. 此文档不能直接在IAR下编译,报错很多,是否需要将他复制到STM32Cube_FW_L4_V1.10.0文件夹中的某个路径中呢?2. NUCLEO-144此板的用户手册,LPUART1是在PG7,PG8两引脚上,应该是您的照片开发板的右下角,但没有引出线来,您接的是那两个引脚作为LPUART1的呢?3. 我手头有精度高点的万用表,我可以帮您完成较为精确的测量,补充您的不足。恳请您的帮助,先谢谢了。再祝新年好!事事顺心。 本帖最后由 wenyangzeng 于 2018-1-1 17:35 编辑
zhjb1 发表于 2018-1-1 16:55
元老您新年好!看了您的文档——实际上在什么地方也看到过一样的介绍。您共享的PWR_ModesSelection.rar文档 ...
节省下载文件尺寸,只放上一个文件夹。
要放在ST官方代码的路径中。
STM32Cube_FW_L4_V1.10.0\Projects\STM32L4R5ZI-Nucleo\Examples\PWR
写了一句病句!
更正:IAR的工程在这个文件夹中
本帖最后由 wenyangzeng 于 2018-1-1 19:49 编辑
zhjb1 发表于 2018-1-1 16:55
元老您新年好!看了您的文档——实际上在什么地方也看到过一样的介绍。您共享的PWR_ModesSelection.rar文档 ...
关于串口通讯,演示代码是将ST-LINK USB虚拟成一个串口,我们只要用USB线连接连接ST-LINK即可。照片中的2条线只是连接数字万用表而已。虚拟串口只需USB线即可。
main.c中对虚拟串口的初始化如下:
static void LPUART1_Config(void)
{
UARTHandle.Instance = LPUART1;
UARTHandle.Init.BaudRate = 115200;
UARTHandle.Init.WordLength = UART_WORDLENGTH_8B;
UARTHandle.Init.StopBits = UART_STOPBITS_1;
UARTHandle.Init.Parity = UART_PARITY_NONE;
UARTHandle.Init.HwFlowCtl= UART_HWCONTROL_NONE;
UARTHandle.Init.Mode = UART_MODE_TX_RX;
UARTHandle.Init.OverSampling = UART_OVERSAMPLING_16;
UARTHandle.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
UARTHandle.Init.ClockPrescaler = UART_PRESCALER_DIV1;
UARTHandle.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if(HAL_UART_Init(&UARTHandle) != HAL_OK)
{
/* Initialization Error */
Error_Handler();
}
}
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
{
/* Configure LPUART1 Rx and Tx as alternate function*/
GPIO_InitStruct.Pin = GPIO_PIN_7 | GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
}
刚刚用IAR试编译,如你所述,错误许多,原因是因为IAR驱动缺少STM32L4R5芯片所致。MDK5可用。
MDK5生成的HEX文件
谢谢,我按照您说的试试去。 目前这是L4R5ZI仅有的资料了
谢谢 好资料
页:
[1]