Page 1 of 1
BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断
Posted: 2025年 Aug 12日 15:37
by saloman
BK3633QN48_M_TuyaOS-3.11.0 使用 tuyaos_demo_ble_peripheral 范例,我先设置 GPIO32中断和1个10秒为周期的持续的tal_sw_timer(每10秒亮灭led一次),都能正常工作。
但若调用tal_cpu_allow_sleep()进入睡眠后,无论是GPIO的中断还是timer都不会再触发,所以也无法执行唤醒。这在FR8018的tuyaos中就不会,睡眠后gpio还是timer都能正常中断。
请问如何解决?
Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断
Posted: 2025年 Aug 12日 16:43
by 13758269484
你好,我们测试了一下,bk3633进入休眠后gpio中断和timer中断能正常触发。
可以参考该链接下载tuya logic上位机https://developer.tuya.com/cn/docs/iot- ... 1%E6%89%8B,进行测试。
SDK里默认GPIO32是唤醒脚,不需要调整。
tuya_init_last函数中添加指示灯周期性闪烁
TUYA_GPIO_BASE_CFG_T gpio_cfg = {
.mode = TUYA_GPIO_PUSH_PULL,
.direct = TUYA_GPIO_OUTPUT,
.level = TUYA_GPIO_LEVEL_LOW,
};
tal_gpio_init(TUYA_GPIO_NUM_20, &gpio_cfg);
tal_gpio_write(TUYA_GPIO_NUM_20, TUYA_GPIO_LEVEL_HIGH);
Code: Select all
app_led_timer_init();
app_led_timer_start();
BK3633串口1 波特率9600连接logic上位机发送[功耗管理->进入低功耗->模式0(最低功耗)/模式1(保持广播)]指令
串口2 波特率 115200 查看log
上位机发送低功耗指令后,设备进入休眠,此时指示灯(P20)保持闪烁,P30接按键 短按按键唤醒,此时可以继续响应logic上位机发送的其他指令。
Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断
Posted: 2025年 Aug 12日 21:45
by saloman
你好,我不知道你们测试的是否是 BK3633QN48_M_TuyaOS-3.11.0
我重新使用干净的 BK3633QN48_M_TuyaOS-3.11.0 tuyaos_demo_ble_peripheral 范例,不做其他更改,按照你们的说明只在tuya_sdk_callback的tuya_init_last最后增加
TUYA_GPIO_BASE_CFG_T gpio_cfg = {
.mode = TUYA_GPIO_PUSH_PULL,
.direct = TUYA_GPIO_OUTPUT,
.level = TUYA_GPIO_LEVEL_LOW,
};
tal_gpio_init(TUYA_GPIO_NUM_20, &gpio_cfg);
tal_gpio_write(TUYA_GPIO_NUM_20, TUYA_GPIO_LEVEL_HIGH);
Code: Select all
app_led_timer_init();
app_led_timer_start();
编译下载运行后led灯闪烁,正确。
但当我使用Logic发送进入低功耗(模式0)后,灯就灭了,不闪了。
(使用的开发板是原厂 BK3633_EVB_V3 QFN48_6x6)

Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断
Posted: 2025年 Aug 13日 09:56
by 13758269484
我们测试代码应该是完全相同的,排查一下硬件差异,推测可能是以下原因:
- SDK默认使用外部32K晶振,如果开发板没有外部32k晶振,在SDK中宏BOARD_USED_INTER_RC32K改为1。
- 使用原厂推荐的晶振,附件下载PDF
顺便一提:
- BK3633QN48_M和BK3633QN48差别是BK3633QN48_M是主从一体,而BK3633QN48仅支持从机。如果您的应用场景不需要作为蓝牙主机,建议使用BK3633QN48 SDK有更多的可自由分配的FLASH空间。
- 建议下载最新的tuyaos 3.12.1版本
Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断
Posted: 2025年 Aug 13日 10:46
by saloman
谢谢你们的耐心解答,问题已解决。
本项目确实需要用到主从双角色,但tuya商城没有相应的开发板,跟厂商(的代理商,联系原厂都被转介到代理商)问询开发板,他们说只有BK3633的,所以暂时先用BK3633的测试基本框架。