你好,
我正在使用基本套件和连接的GPIO上的一个按钮工作的DA14580 BLE。
现在我想在DA14580 BLE上实现以下功能。
1.深入睡觉的电源意味着它睡眠永久,只有外部GPIO可以唤醒它。(没有广告也)
2.深睡眠后,唤醒GPIO中断。
3.再次从应用程序或计时器请求深入睡眠,直到没有连接,除非GPIO中断不会来。
我refered training_04_sleep_modes_current_measurement_v1.0.pdf,但我无法理解DA14580在深度睡眠中为永久睡眠(只有GPIO中断可以唤醒它)和唤醒如何再次重启BLE配置文件。
如何实现以上深度睡眠和唤醒使用GPIO中断?
设备:
嗨jbaczuk,
您可以看看SDK示例BLE_APP_SLEEPMODE,它确实在深度睡眠中确实请求,宣传几秒钟,然后进入永久睡眠,直到GPIO中断(按钮)触发它,然后再次开始广告。
谢谢mt_dialog.
谢谢,
我有检查SDK示例BLE_APP_SLEEPMODE。
Port2_2 GPIO已连接到按钮进行输入中断,其工作正常。
但是一个查询,我已经引用了一个例子,下面的评论,高于wkupct_enable_irq函数的defination。
“
/ **
****************************************************************************************
* @brief启用唤醒IRQ。
* @param [in] sel_pins选择已启用的输入(0禁用,启用1个)
* - 位0-7 - >端口0(p00..p07)
* - 位8-13 - >端口1(p10..p15)
* - 位14-15 - >端口2(P28,P29)
* - 位16-23 - >端口2(p00..p07)
* - 位24-31 - >端口3(P30..P37)
* @param [in] pol_pins输入的极性(0高,1低)
* - 位0-7 - >端口0(p00..p07)
* - 位8-13 - >端口1(p10..p15)
* - 位14-15 - >端口2(P28,P29)
* - 位16-23 - >端口2(p00..p07
* - 位24-31 - >端口3(P30..P37)
* @param [in] event_num唤醒中断前的事件数。最多255。
* @param [in] deb_time debouncing时间。最大0x3F(63毫秒)
* @return void.
****************************************************************************************
* /
void wkupct_enable_irq(uint32_t sel_pins,uint32_t pol_pins,uint16_t events_num,uint16_t deb_time);
“
根据评论,我不能使用port2_2来启用Wakeup Irq,但现在它的工作。
它建议使用它是port2_2作为中断的输入吗?
谢谢
嗨jbaczuk,
您可以使用端口/引脚2_2作为唤醒中断,没有使用它的probelm。
谢谢mt_dialog.
嗨mt_dialog,
你能告诉我如何用BLE定时器醒来的DA14580将DA14580睡觉(不是端口/针唤醒)?
你能给我一个关于SDK 5.0.3的演示项目基础吗?
谢谢
嗨徐开忠,
请检查您的其他帖子的回复。
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
谢谢mt_dialog.
嗨,mt_dialog
BLE_APP_SLEEPMODE根据您的描述工作。但是当我撤消时
#define cfg_development_debug.
为了断电Sysram,我看到设备的周期性重启 - 每隔几秒钟我看到引导加载程序会发出一些超越UART的东西(当它开始时,我也观察到当前的消耗浪涌。设备不通告,只是定期重启的迹象。所以,你能告诉我,如何关掉RAM,然后通过所有外围设备,时钟和BLE断电,而没有这些重新启动?
我正在使用TDK Sesusb-Pan-D14580 EVK USB加密狗。
嗨vlad,
您是否在OTP中应用了图像?如果您不使用BLE_APP_SLEEPMODE FW刻录OTP,您只需通过KEIL下载FW,那么设备将保持醒来并在睡眠状态后宣传2秒钟,它将唤醒下一个广告间隔,所以它会尝试要执行OTP副本以继续广告,因此OTP中不会在OTP中没有图像,并且设备将处于UDEfining状态,并且明显重置并运行主引导程序。如果您显然在OTP中应用了图像,则在OTP中下载的FW将重置设备(NMI或H硬盘发生)。您是否用BLE_APP_SLEEPMODE尝试过此功能,将其刻录在OTP中,您看到此行为?由于我无法复制它(在对话框开发套件上,因为我没有TDK USB DONGLE)。使用Deep Sleep的程序包括,设置App_default_sleep_mode = Arch_Deep_sleep_on;并配置#define cfg_mem_map_deep_sleep,unefine the cfg_development_debug并刻录OTP中的图像,这将设置设备是深度睡眠模式,所有外设都包括Sysram断电。
谢谢mt_dialog.
谢谢你的快速回复!不,我没有闪过OTP。代码从Flash启动。如果代码从Flash镜像,那么我们是否不能使用深睡眠?
嗨vlad,
是的,只有当OTP用FW燃烧时,才能使用深度睡眠模式,当设备从闪光灯启动时,不能使用深睡眠。
谢谢mt_dialog.