Code:
void ICACHE_FLASH_ATTR gpio_init(void)
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15); //GPIO 选择功能
GPIO_DIS_OUTPUT(GPIO_ID_PIN(15)); //配置为输入模式
ETS_GPIO_INTR_DISABLE(); //关闭 GPIO 中断
ETS_GPIO_INTR_ATTACH(GPIO_INTERRUPT,NULL); //注册中断函数
gpio_pin_intr_state_set(GPIO_ID_PIN(15),GPIO_PIN_INTR_NEGEDGE); //下降沿触发
ETS_GPIO_INTR_ENABLE() ; //使能 GPIO 中断
}
Code:
{
GPIO_ConfigTypeDef gpio_in_cfg; //定义 GPIO 初始化结构体
gpio_in_cfg.GPIO_IntrType = GPIO_PIN_INTR_NEGEDGE; //下降沿触发
gpio_in_cfg.GPIO_Mode = GPIO_Mode_Input; //输入模式
gpio_in_cfg.GPIO_Pin = GPIO_Pin_15; //GPIO 选择使能
gpio_config(&gpio_in_cfg); //初始化函数
GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(GPIO_UART_IN_NUM));
gpio_intr_handler_register(interrupt_GPIO_UART); //注册中断函数
_xt_isr_unmask(1 << ETS_GPIO_INUM); //使能 GPIO 中断
}
Statistics: Posted by Guest — Tue Jul 28, 2015 1:03 pm