Page 1 of 1

ZTU模组(TLSR8258),如何在休眠的时候保持引脚电平

Posted: 2025年 Nov 3日 11:09
by gohulchen

SDK版本V3.12.0,使用了 door_sensor 的例程。

我正在开发的产品是低功耗产品,有一些外部元器件的电源是由 模组引脚 控制的,在休眠状态下需要保持引脚电平(比如高电平)来保证外部元器件的供电。如何才能使 模组引脚 进入休眠后也能保持 休眠之前我设置的电平(比如高电平) 呢?


Re: ZTU模组(TLSR8258),如何在休眠的时候保持引脚电平

Posted: 2025年 Nov 3日 11:17
by huanghuan

1.进入休眠是sdk控制的,当没有任务需要执行且满足休眠条件时会自动进入休眠
2.进入和退出休眠 是可以控制的 tal_cpu_allow_sleep 和 tal_cpu_force_wakeup 是允许和禁止进入休眠
3.telink由于硬件原因进入休眠无法保持推挽输出,进入休眠后支持通过上拉提供零点伏的电位,你可以通过硬件增加三极管来实现导通控制
4.我们可以通过tkl_gpio_output_use_wakeup_mode配置管脚是通过上下拉输出还是强制推挽输出,你可以参考这个帖子 https://www.tuyaos.com/viewtopic.php?t= ... akeup_mode


Re: ZTU模组(TLSR8258),如何在休眠的时候保持引脚电平

Posted: 2025年 Nov 4日 17:52
by gohulchen

你回复的 1,2,3 点我都理解了,我的电路上就是通过三极管电路来开/关外部电源的。
但是第4点的 tkl_gpio_output_use_wakeup_mode 函数不太理解,这个函数具体是怎么使用以及作用是什么样的?我没查找到例程或者使用说明,你能提供一个使用示例吗?
另外对于第3点和第4点,我还有一个疑问:假设在程序初始化阶段,我已经把引脚配置为上拉了(比如PC0引脚),那么我还需要在 tkl_gpio_output_use_wakeup_mode 这个函数中做什么事情吗?


Re: ZTU模组(TLSR8258),如何在休眠的时候保持引脚电平

Posted: 2025年 Nov 4日 18:01
by huanghuan

1.在BOOL_T tkl_gpio_output_use_wakeup_mode(TUYA_GPIO_NUM_E pin_id) 函数中,如果你想要自己控制唤醒及休眠时机使用推挽输出的话,可以返回TRUE,如果直接通过上下拉进行弱输出则返回FALSE;通过区分不同管脚进行不同的返回值,实现不同管脚不同的输出方式,可以参考pir demo
2.相关源代码你可以在tkl_gpio.c文件中查看


Re: ZTU模组(TLSR8258),如何在休眠的时候保持引脚电平

Posted: 2025年 Nov 4日 19:16
by gohulchen

好的,我明白了,我先测试看看