连续多次按压按键后,无法进入中断

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
cjl
Posts: 9

1.使用3.12.14版本的demo_ai_toy例程,除了唤醒键外,还有一个按键用来播放SD卡MP3资源;
2.间隔一秒多次按压按键播放MP3,偶尔会出现模块打印“key_tickless_trig_timer_cb enter”log后,后续两个按键都无法进入中断的情况,需要重新上电。请问“key_tickless_trig_timer_cb enter”是什么意思,会影响按键的使用吗?
3.复现次数不固定,有时上电后十几次就出现了,有时连续按压40多次还没有出现问题。
4.不确定是按键问题还是MP3播放问题。复现的几次都是MP3资源还未播放完成时,触发按键使其开始播放新的MP3资源。

Attachments
SaveWindows2025_8_8_17-55-20.TXT
(2.17 KiB) Downloaded 82 times
SaveWindows2025_8_8_10-44-26.TXT
log文件末尾出现__key_tickless_trig_timer_cb enter
(36.44 KiB) Downloaded 72 times

Tags:
User avatar
卢台长
Posts: 57

Re: 连续多次按压按键后,无法进入中断

你好,__key_tickless_trig_timer_cb这个打印没啥影响,就是按键程序进入等待状态,需要下次按键中断唤醒触发
这块的源码在app_tuya_key下,可以自行参考下,另外按键按下会打印get key interrupt
我这边建议你把播放相关代码注释下,每当按键按下时加个打印看看,先测试下按键功能是否是预期的

cjl
Posts: 9

Re: 连续多次按压按键后,无法进入中断

卢台长 2025年 Aug 11日 14:58

你好,__key_tickless_trig_timer_cb这个打印没啥影响,就是按键程序进入等待状态,需要下次按键中断唤醒触发
这块的源码在app_tuya_key下,可以自行参考下,另外按键按下会打印get key interrupt
我这边建议你把播放相关代码注释下,每当按键按下时加个打印看看,先测试下按键功能是否是预期的

1.我按照你说的,将播放代码注释掉,测试一百多次都没有复现。取消注释后,复现了几次;但是复现概率不高,按压几百次才出现了两次。
2.根据播放正常和异常log之间的差别,我感觉应该是在tuya_speaker_service_tone_play里面出现的问题,里面是不是有哪个地方把按键中断禁止了?但是由于这个函数是个api,我不确定,麻烦你分析一下。
3.下面截图有我按键中断里面实现播放MP3的逻辑,可以的话麻烦试一下。测试方法为间隔1s左右连续按压按键,但是不确定你是否能够复现。

Attachments
图片4.png
图片3.png
SaveWindows2025_8_12_16-44-47 - 副本.TXT
log文本
(112.73 KiB) Downloaded 52 times
正常log
正常log
异常log
异常log
User avatar
卢台长
Posts: 57

Re: 连续多次按压按键后,无法进入中断

你好,建议你把,按键处理播放的程序,放到单独的一个线程去处理,按键回调只是发送消息给播放线程

cjl
Posts: 9

Re: 连续多次按压按键后,无法进入中断

卢台长 2025年 Aug 14日 08:31

你好,建议你把,按键处理播放的程序,放到单独的一个线程去处理,按键回调只是发送消息给播放线程

行,我试一下。

Post Reply