



Code: Select all
LOCAL void gpio_int_handler(void)
{
uint32 gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS);
//ETS_GPIO_INTR_DISABLE();
ETS_INTR_LOCK();
GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, gpio_status);
//GPIO_OUTPUT(GPIO_Pin_4,1);
if (gpio_status & BIT(GPIO_ID_PIN(12)))
{
if( GPIO_ID_PIN(12) )
{
printf("yes----------------\n");
GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 1);
}
else
{
printf("no-----------------\n");
}
}
//ETS_GPIO_INTR_ENABLE();
ETS_INTR_UNLOCK();
}
void user_init(void)
{
printf("SDK version:%s\n", system_get_sdk_version());
GPIO_ConfigTypeDef gpio_conf4;
gpio_conf4.GPIO_Pin = GPIO_Pin_4;
gpio_conf4.GPIO_Mode = GPIO_Mode_Output;
gpio_conf4.GPIO_Pullup = GPIO_PullUp_EN;
gpio_conf4.GPIO_IntrType = GPIO_PIN_INTR_DISABLE;
gpio_config(&gpio_conf4);
GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 1);
GPIO_ConfigTypeDef gpio_conf12;
ETS_INTR_LOCK();
gpio_conf12.GPIO_Pin = GPIO_Pin_12;
gpio_conf12.GPIO_Mode = GPIO_Mode_Input;
gpio_conf12.GPIO_Pullup = GPIO_PullUp_DIS;
gpio_conf12.GPIO_IntrType = GPIO_PIN_INTR_POSEDGE;
gpio_intr_handler_register(gpio_int_handler,NULL);
gpio_config(&gpio_conf12);
ETS_INTR_UNLOCK();
GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 0);
while(1);
}