跳到主要内容

ext_wakeup_cb()未调用

DA14580.

5年前

ext_wakeup_cb()未调用

张贴了aritec0分 6回复
0旋转

除广告间隔旁边,我想在文档中描述的Asynchrone时尚唤醒我们的应用程序。
我们使用扩展的睡眠模式。
在睡眠之前,我配置端口,注册回调函数并启用IRQ。
下载AND运行J-Link的应用程序,一切正常运行。

通过SmartSnippets编程与我们的EEPROM相同的应用程序它的行为不同。一切都是相同的,但回调函数从未调用过。广告间隔正常工作。

阅读关于睡觉模式的所有文档并唤醒我无法弄清楚为什么它不起作用。

有任何帮助欢迎。
此致
arm

5年前

mt_dialog. -30点

嗨aritec,

您是否检查了引脚,也许按钮引脚与EEPROM引脚碰撞,我无法找到任何其他原因,为什么使用EEPROM时无法使用唤醒回调函数。您是否尝试在闪存中下载FW以进行测试?

谢谢mt_dialog.

5年前

aritec 0分

嗨mt_dialog.

PIN不与EEPROM引脚碰撞,我在设备上没有闪光灯。

我想要实现的目标:
我的电路板有一个由UART(P0_4,P0_5)连接到DA14580的CPU。在每个广告间隔中,DA14580(作为Master)正在与其他CPU通信。
为了在这些间隔之间唤醒DA14580,我将P0_5配置为处于睡眠之前的活动低中中断,并且如果需要,其他CPU在此行上发送负脉冲。
从EEPROM运行,通信正在工作,另一个CPU正在发送脉冲,但未调用DA14580的中断。

如果我从j-link运行它,一切都在正常工作。
是由引导加载程序引起的问题吗?

谢谢armin

5年前

aritec 0分

更新:

如果我在这个UART上加载DA14580固件,则行为与来自EEPROM的加载相同。

5年前

mt_dialog. -30点

嗨aritec,

我不认为Bootloader在DA靴子在PERIPH_INIT函数中重新配置引导后导致问题。请查看SmartTag参考设计并确认设置唤醒中断的方式。我刚刚使用了Pro套件并将智能标签下载到闪存,一旦发出中断,设备就会醒来。

谢谢mt_dialog.

5年前

aritec 0分

解决了
我将输入引脚配置为input_pullup。在这些状态下,外部硬件不足以将此引脚拉到地面。使用此引脚作为输入解决了我们的问题。

谢谢大家。
arm

5年前

mt_dialog. -30点

嗨aritec,

很高兴你想出来了,谢谢你的表明。

mt_dialog.