ESP8266 RTOS SDK使用GPIO中断的方法
来源:互联网 发布:js模式化窗口 编辑:程序博客网 时间:2024/06/05 23:49
下面的函数初始化了GPIO12 和GPIO13下降沿中断 函数说明说下
/****************************************************************************** * FunctionName : gpio_intr_handler * Description : gpio interrupt callback funtion * Parameters : void * Returns : void*******************************************************************************/void gpio_intr_handler(void){ _xt_isr_mask(1<<ETS_GPIO_INUM); //disable interrupt os_delay_us(20*1000);//delay 20ms if(!GPIO_INPUT_GET(GPIO_ID_PIN(12))){ printf("\r\n receive button press!"); } if(!GPIO_INPUT_GET(GPIO_ID_PIN(13))){ printf("\r\n receive button press2!"); } GPIO_REG_WRITE( GPIO_STATUS_W1TC_ADDRESS, GPIO_Pin_12|GPIO_Pin_13 ); //clear interrupt mask _xt_isr_unmask(1 << ETS_GPIO_INUM); //Enable the GPIO interrupt}/****************************************************************************** * FunctionName : buttonInit * Description : button intt * Parameters : void * Returns : NULL*******************************************************************************/void buttonInit(void){ GPIO_ConfigTypeDef gpio_in_cfg; //Define GPIO Init Structure gpio_in_cfg.GPIO_IntrType = GPIO_PIN_INTR_NEGEDGE; // gpio_in_cfg.GPIO_Mode = GPIO_Mode_Input; //Input mode gpio_in_cfg.GPIO_Pullup = GPIO_PullUp_EN; gpio_in_cfg.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13; // Enable GPIO gpio_config(&gpio_in_cfg); //Initialization function GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, GPIO_Pin_12|GPIO_Pin_13);//Forbidden ouput register // Register the interrupt callback function gpio_intr_handler_register(gpio_intr_handler, NULL); _xt_isr_unmask(1 << ETS_GPIO_INUM); //Enable the GPIO interrupt// _xt_isr_mask(1 << ETS_GPIO_INUM); //Disable the GPIO interrupt}
阅读全文
0 0
- ESP8266 RTOS SDK使用GPIO中断的方法
- ESP8266 NON-OS SDK 和 RTOS SDK实现GPIO中断不同点
- 关于ESP8266 GPIO中断使用的总结
- 关于ESP8266 GPIO中断使用的总结
- ESP8266 RTOS SDK开发
- ESP8266-SDK的外部中断
- ESP8266 基础篇:RTOS SDK 内存优化方法
- ESP8266 GPIO中断学习
- 9. ESP8266使用esp-open-rtos的实践
- esp8266使用micropython对GPIO的操作
- 5. ESP8266固件的编译(RTOS SDK固件)
- ESP8266-使用ESP8266 NONOS SDK的JSON API
- ESP8266-使用ESP8266 NONOS SDK的driver/key API
- 【ESP8266】使用ESP8266 NONOS SDK的JSON API
- esp8266-SDK的串口发送和中断接收
- ESP8266-SDK中I2C的使用
- esp8266 SDK使用注意事项
- ESP8266--学习笔记(八)中断(一)GPIO中断
- druid连接池监控在spring中的配置(注)
- 爱奇艺播放按钮动画解析
- BZOJ 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路
- js中math常用方法总结
- SEO优化
- ESP8266 RTOS SDK使用GPIO中断的方法
- rm命令
- 《Java总结2》
- HDU 4758 Walk Through Squares (AC自动机 + 状压dp)
- n皇后问题 栈操作
- 【CUDA开发-并行计算】NVIDIA深度学习应用之五大杀器
- Lua的三目陷阱
- 大型网站架构之分布式消息队列
- 反编译apk文件