完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前在用ESP32-C3,用BLE 低功耗后 要启用自动浅休眠,开启了浅休眠之后GPIO 中断一直不停触发,不管在设置里面内部上拉 还是外部47K上拉。
我确定已经去抖动了,在中断里面解绑了中断,等中断服务结束之后重新绑定的中断。在中断里才会增加的变量也一直在增加,不开自动浅休眠就没这个问题,请问有人知道是什么情况吗
|
|
相关推荐
1个回答
|
|
从您的描述来看,ESP32-C3在浅休眠状态下GPIO中断一直触发的问题可能是由于以下几个原因导致的:
1. **电源问题**:确保您的电源稳定,因为不稳定的电源可能导致GPIO引脚电压波动,从而触发中断。 2. **外部干扰**:检查您的电路周围是否有可能产生电磁干扰的设备,这些干扰可能导致GPIO引脚误触发中断。 3. **内部上拉/下拉电阻设置**:您已经尝试了内部上拉和外部47K上拉电阻,但仍然出现问题。请确保您的上拉电阻值适合您的应用场景。 4. **去抖动处理**:您提到已经进行了去抖动处理,但请确保去抖动逻辑正确实现。例如,您可以在检测到上升沿后等待一小段时间(例如10ms),然后再检查GPIO状态,以确保这是有效的触发。 5. **中断服务程序(ISR)实现**:请检查您的ISR实现,确保在ISR中正确地处理了中断,并在退出ISR之前重新启用中断。 6. **硬件问题**:如果以上方法都不能解决问题,可能是ESP32-C3硬件本身存在问题。您可以尝试更换一个ESP32-C3模块,看看问题是否仍然存在。 7. **软件问题**:检查您的ESP-IDF版本是否为最新,或者是否有已知的bug。尝试升级ESP-IDF到最新版本,看看问题是否得到解决。 8. **GPIO配置**:您提供的代码片段中,`GPIO_INPUT_PIN_SEL`可能需要替换为实际的GPIO引脚号。例如,如果您使用的是GPIO 0,则应将其替换为`(1ULL<<0)`。 综上所述,您可以逐一排查这些可能的原因,以找到导致GPIO中断一直触发的问题所在。希望这些信息对您有所帮助! |
|
|
|
只有小组成员才能发言,加入小组>>
179个成员聚集在这个小组
加入小组439 浏览 1 评论
1396 浏览 1 评论
608浏览 6评论
505浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
487浏览 5评论
489浏览 4评论
472浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 15:08 , Processed in 0.576169 second(s), Total 43, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号