我有一块带STM32L433的电路板,在STOP 2模式下有大约320uA的基线电流消耗。只有具有32kHz晶振的LSE才有效。该板具有独立的模拟Vdda电源,在停止模式下被禁用。(与地面相连)。在禁用Vdda之前,ADC,DAC和OPAMP禁用,其引脚进入OD低电平模式。配置使用STM32CubeMX软件完成。任何想法如何调试这个?我断开并测量了几乎每个外围设备,看看是什么吸引电流,但似乎STM32L433是罪魁祸首。我用示波器测量电流,使用与电池串联的2欧姆电阻。LDO可能负责20uA,但是还有300uA却不明。我只用STM32L433和LDO LP5907-3.0以及几个去耦电容焊接了另一块电路板。同样的问题。这是我用来设置GPIO的最小代码- <font size="4">GPIO_InitTypeDef GPIO_InitStruct;
- /* GPIO Ports Clock Enable */
- __HAL_RCC_GPIOC_CLK_ENABLE()
- ;
- __HAL_RCC_GPIOH_CLK_ENABLE()
- ;
- __HAL_RCC_GPIOA_CLK_ENABLE()
- ;
- __HAL_RCC_GPIOB_CLK_ENABLE()
- ;
- GPIO_InitStruct.Pin = 0xFFFFFFFF;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- HAL_GPIO_WritePin(GPIOA, GPIO_InitStruct.Pin, GPIO_PIN_SET);
- GPIO_InitStruct.Pin = 0xFFFFFFFF;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- HAL_GPIO_WritePin(GPIOB, GPIO_InitStruct.Pin, GPIO_PIN_SET);
- GPIO_InitStruct.Pin = 0xFFFFFFFF;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
- HAL_GPIO_WritePin(GPIOC, GPIO_InitStruct.Pin, GPIO_PIN_SET);
- GPIO_InitStruct.Pin = 0xFFFFFFFF;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
- HAL_GPIO_WritePin(GPIOH, GPIO_InitStruct.Pin, GPIO_PIN_SET);
- //BOOT0 PIN
- GPIO_InitStruct.Pin = GPIO_PIN_3;
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
- HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI);</font>
复制代码当USB输入处于低功耗模式时,USB DM引脚会浮动。这导致了200uA当前的卓尔精灵。向外拉这个引脚可以移除200uA。现在我正试图在固件中找到解决方法。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>