esp8266~GPIO中断和硬件定时器的正确使用,从零开始学数据结构和算法

本文介绍了如何在ESP8266中正确使用GPIO硬件中断和硬件定时器,针对实际项目需求,详细讲解了中断处理和定时器配置的关键步骤,并提醒了在使用过程中需要注意的细节,例如中断处理函数的简洁性和定时器分辨率选择等。
摘要由CSDN通过智能技术生成

最近项目需要检测IO口下降沿信号和定时计数,于是就用到了GPIO中断和硬件定时器。有点可惜,github上面RTOS版sdk没有硬件定时器的使用方法,能够参考的只有1.5的sdk,然而我不会移植,只能班门弄斧。参考网上给的demo,实际在项目中用了发现网上给的用法很坑,有一些点需要注意,总结分享给大家,以下用法基于sdk 1.5。

1、gpio硬件中断使用

/* gpio interrupt handler */

LOCAL void gpio_interrupt_cb(void){

/*

// 不可靠的代码

_xt_isr_mask(1<<ETS_GPIO_INUM); //disable interrupt

printf(“gpio_interrupt_cb \n”);

GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS,TRUE); //clear interrupt mask

_xt_isr_unmask(1<<ETS_GPIO_INUM); //Enable the GPIO interrupt

*/

uint32 gpio_status;

gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS );

GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS,gpio_status);

printf(“gpio_interrupt_cb \n”);

}

void gpio_input_set(void){

GPIO_ConfigTypeDef gpio_in_cfg;

gpio_in_cf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值