#if 1
void lowpower_test(void)
{
uint8_t count=0;
gpio_mode_set(GPIOA,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_ALL);
gpio_mode_set(GPIOB,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_ALL);
gpio_mode_set(GPIOC,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_ALL);
gpio_mode_set(GPIOD,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_ALL);
gpio_mode_set(GPIOF,GPIO_MODE_ANALOG,GPIO_PUPD_NONE,GPIO_PIN_ALL);
#if 0
rcu_periph_clock_enable(RCU_GPIOC);
gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_7);
gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, GPIO_PIN_0);
// gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_0);
nvic_irq_enable(EXTI0_IRQn, 2U);
syscfg_exti_line_config(EXTI_SOURCE_GPIOA, EXTI_SOURCE_PIN0);
exti_init(EXTI_0, EXTI_INTERRUPT, EXTI_TRIG_FALLING);
exti_interrupt_flag_clear(EXTI_0);
#endif
while(1)
{
/* code */
// delay_1ms(500);
delay(2000000);
// gpio_bit_set(GPIOC, GPIO_PIN_7);
// delay_1ms(500);
delay(2000000);
// gpio_bit_reset(GPIOC, GPIO_PIN_7);
if(++count == 5){
count = 0;
// systick_enable(0);
pmu_to_deepsleepmode(PMU_LDNPDSP_LOWDRIVE, WFI_CMD, PMU_DEEPSLEEP2);
// systick_enable(1);
}
}
}
#endif
/*!
\brief main function
\param[in] none
\param[out] none
\retval none
*/
int main(void)
{
// systick_config();
#if 1
lowpower_test();
#endif
}
供电3.3V,芯片外围IO引脚全部断开,所有的IO设置为模拟模式,实测电流1.8mA
|