|
本帖最后由 zhd1021 于 2020-11-14 14:31 编辑
原理图上什么都没有接,所有引脚悬空状态,板子上只有单片机、复位阻容、BOOT0电阻
程序只有一个进入低功耗模式的一句话,进入深度休眠只能到260ua左右。
按照例程中设置所有IO为下拉输入,功耗反而高了,能到600多。
都说功耗不错,能到0.3ua。是有什么地方没有配置到吗?
求大神解惑
测试代码如下:
- int32_t main(void)
- {
- delay1ms(2000);
- delay1ms(2000);
- Lpm_GotoDeepSleep(TRUE);
- while(1)
- {
- ;
- }
- }
复制代码
配置IO的代码:
- static void App_LowPowerModeGpioSet(void)
- {
- ///< 打开GPIO外设时钟门控
- Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
- //swd as gpio
- Sysctrl_SetFunc(SysctrlSWDUseIOEn, TRUE);
- ///< 配置为数字端口
- M0P_GPIO->PAADS = 0;
- M0P_GPIO->PBADS = 0;
- M0P_GPIO->PCADS = 0;
- M0P_GPIO->PDADS = 0;
- ///< 配置为端口输入(除LED端口外)
- M0P_GPIO->PADIR = 0XFFFF;
- M0P_GPIO->PBDIR = 0XFFFF;
- M0P_GPIO->PCDIR = 0XFFFF;
- M0P_GPIO->PDDIR = 0XFFFF;
- ///< 输入下拉(除KEY端口以外)
- M0P_GPIO->PAPD = 0xFFFF;
- M0P_GPIO->PBPD = 0xFFFF;
- M0P_GPIO->PCPD = 0xFFFF;
- M0P_GPIO->PDPD = 0XFFFF;
-
- Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, FALSE);
- }
复制代码 |
|