BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


Post Reply
saloman
Posts: 5

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都能正常中断。

请问如何解决?


Tags:
13758269484
Posts: 7

Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断

你好,我们测试了一下,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上位机发送的其他指令。

saloman
Posts: 5

Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断

你好,我不知道你们测试的是否是 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)
Image

Attachments
2.png
13758269484
Posts: 7

Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断

我们测试代码应该是完全相同的,排查一下硬件差异,推测可能是以下原因:

  1. SDK默认使用外部32K晶振,如果开发板没有外部32k晶振,在SDK中宏BOARD_USED_INTER_RC32K改为1。
  2. 使用原厂推荐的晶振,附件下载PDF

顺便一提:

  1. BK3633QN48_M和BK3633QN48差别是BK3633QN48_M是主从一体,而BK3633QN48仅支持从机。如果您的应用场景不需要作为蓝牙主机,建议使用BK3633QN48 SDK有更多的可自由分配的FLASH空间。
  2. 建议下载最新的tuyaos 3.12.1版本
Attachments
C2236_32.768KHZ12.5PFYT-26_2021-03-29.zip
(250.65 KiB) Downloaded 24 times
BEKEN 191128 E3SB16E009600E V1.0_16M_3225_7pF_105.zip
(226.48 KiB) Downloaded 19 times
saloman
Posts: 5

Re: BK3633QN48_M_TuyaOS-3.11.0 进入睡眠后不能GPIO中断和timer中断

谢谢你们的耐心解答,问题已解决。

本项目确实需要用到主从双角色,但tuya商城没有相应的开发板,跟厂商(的代理商,联系原厂都被转介到代理商)问询开发板,他们说只有BK3633的,所以暂时先用BK3633的测试基本框架。

Post Reply