int gd32_pin_read(rt_device_t dev, rt_base_t pin) { int value; const struct pin_index *index; value = PIN_LOW; index = get_pin(pin); if (index == RT_NULL) { return value; } value = gpio_input_bit_get(index->gpio_periph, index->pin); return value; }
/*! \brief main function \param[in] none \param[out] none \retval none */ int main(void) { /* systick config */ systick_config(); /* led config */ led_config(); /* clock enable */ rcu_periph_clock_enable(RCU_PMU); /* wakeup key config */ gd_eval_keyinit(KEY_WAKEUP,KEY_MODE_GPIO); /* tamper key EXTI config */ gd_eval_keyinit(KEY_TAMPER,KEY_MODE_EXTI); /* press wakeup key to enter deepsleep mode and use tamper key generate a exti interrupt to wakeup mcu */ while(1){ if(RESET == gpio_input_bit_get(WAKEUP_KEY_GPIO_PORT,WAKEUP_KEY_PIN)) pmu_to_deepsleepmode(PMU_LDO_LOWPOWER,WFI_CMD); } }
/*! \brief main function \param[in] none \param[out] none \retval none */ int main(void) { /* clock enable */ rcu_periph_clock_enable(RCU_PMU); /* led configuration and turn on all led */ led_config(); gd_eval_ledon(LED1); gd_eval_ledon(LED3); gd_eval_ledon(LED2); gd_eval_ledon(LED4); /* tamper key configuration */ gd_eval_keyinit(KEY_TAMPER,KEY_MODE_GPIO); /* wakeup pin enable */ pmu_wakeup_pin_enable(PMU_WAKEUP_PIN0); /* press tamper key to enter standby mode and use wakeup key to wakeup mcu */ while(1){ if(RESET == gpio_input_bit_get(TAMPER_KEY_GPIO_PORT,TAMPER_KEY_PIN)) pmu_to_stdbymode(WFI_CMD); } }