目前在用泰凌微的btu和bt3l,目前模组休眠唤醒一个是通过wakeuppad也就是gpio高电平来触发,第二个是通过定时的广播来唤醒。因为目前有个需求是 通过模组检测霍尔脉冲数,我试过在模组不进入低功耗的情况下 能成功进入irq_handle去检测上升沿脉冲,但是在进入低功耗模式后 只有通过唤醒引脚或者广播 设备起来后才能触发中断。我尝试过将脉冲检测的gpio当做wakeuppad,但是又会出现一个新的问题,因为霍尔的传感器有时候停止的时候会刚好出在持续高电平的位置,这就导致设备会持续高功耗进入不了低功耗。所以有没有什么方法能够让设备能通过上升沿的中断来唤醒设备。
【已解决】泰凌微蓝牙方案的中断唤醒的问题
Re: 泰凌微蓝牙方案的中断唤醒的问题
建议处理了gpio后,读取当前电平,用当前电平的反向电平作为下次唤醒的条件
Re: 泰凌微蓝牙方案的中断唤醒的问题
目前唤醒只能是高低电平,中断只能是上下沿,而且不能同时
目前的方案:只能是在中断处理程序中,判断高低电平,设置相应的参数,再次睡眠
Re: 泰凌微蓝牙方案的中断唤醒的问题
另:睡眠到醒来是需要时间,中间可能会丢电平,具体应用要再看下
Re: 【求助】泰凌微蓝牙方案的中断唤醒的问题
好的我试试
Re: 泰凌微蓝牙方案的中断唤醒的问题
你好问一下其他的蓝牙方案可以做到么 比如说phy6222或者是fr8016
Re: 【求助】泰凌微蓝牙方案的中断唤醒的问题
fr8016通过API只能设置上拉,如果要下拉需要外部电路配合;PHY6222同时支持上下拉,可以通过上升沿/下降沿触发进入中断。
可以参考按键例程,相关的代码位于app_key.c中(TuyaOS)