Code:
void ICACHE_FLASH_ATTR gpio_init(void)
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15); //GPIO Alternate Function
GPIO_DIS_OUTPUT(GPIO_ID_PIN(15)); //Configure it in input mode.
ETS_GPIO_INTR_DISABLE(); //Close the GPIO interrupt
ETS_GPIO_INTR_ATTACH(GPIO_INTERRUPT,NULL); //Register the interrupt function
gpio_pin_intr_state_set(GPIO_ID_PIN(15),GPIO_PIN_INTR_NEGEDGE); //Falling edge trigger
ETS_GPIO_INTR_ENABLE() ; //Enable the GPIO interrupt
}
Code:
{
GPIO_ConfigTypeDef gpio_in_cfg; //Define GPIO Init Structure
gpio_in_cfg.GPIO_IntrType = GPIO_PIN_INTR_NEGEDGE; //Falling edge trigger
gpio_in_cfg.GPIO_Mode = GPIO_Mode_Input; //Input mode
gpio_in_cfg.GPIO_Pin = GPIO_Pin_15; // Enable GPIO
gpio_config(&gpio_in_cfg); //Initialization function
GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(GPIO_UART_IN_NUM));
gpio_intr_handler_register(interrupt_GPIO_UART); // Register the interrupt function
_xt_isr_unmask(1 << ETS_GPIO_INUM); //Enable the GPIO interrupt
}
Statistics: Posted by Guest — Tue Jul 28, 2015 1:03 pm