呼叫函数的问题----- app_disable_sleep()

10个帖子/ 0新
最后一篇
溧阳
离线
最后一次露面:3个月3周前
专家
加入:2014-09-24 11:51
呼叫函数的问题----- app_disable_sleep()

嗨,对话框:
我使用DA14580 12个月。从SDK 3.0.2到3.0.10。但我总是遇到一个问题。当我打开由两个PWM脉冲控制的LED时.I使用函数app_disable_sleep(),因此LED可以运行良好。当我关闭LED时,我调用函数app_set_extendend_sleep()以确保设备以低功耗模式工作。
它很好,但是当我使用LED几个小时时(当我打开LED时,我调用app_disable_sleep每秒一次),PWM无法正常工作。我认为app_disable_sleep()的调用不起作用。为什么 ???

设备:
mt_dialog.
离线
最后一次露面:6天16小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

你是什​​么意思,PWM不起作用,你认为DA虽然禁用睡眠是发布的?从哪里召唤函数以唤醒系统并启动PWM?是一个外部中断吗?你说,在Beggines这个实施中很好地运作良好,但随着时间的推移,出现的时间发生了?您是否尝试过实现相同的功能(闪烁LED),但使用ke_timer查看问题是否仍然存在?

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月3周前
专家
加入:2014-09-24 11:51
嗨,mt_dialog,

嗨,mt_dialog,
PWM不起作用,因为调用了函数BLE_WAKEUP_LP_HANDLER()中的PERIPH_INIT()。我的PWM控制LED,表示设备充电状态。

mt_dialog.
离线
最后一次露面:6天16小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

为什么你认为ble_wakeup_lp_handler()中的periph_init()函数是导致您问题的函数?目前的实施是工作还是随着时间的推移它没有,我理解正确吗?在您的实现中,您调用函数以启动系统并启动PWM?

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月3周前
专家
加入:2014-09-24 11:51
嗨,mt_dialog,

嗨,mt_dialog,
正如我所说,我的PWM控制指示设备充电状态的LED。当我为我的设备充电时,我需要长时间需要连续的PWM波。实际上,当设备运行几个小时时,PWM不连续。所以你会看到LED闪烁。但我需要LED发光持续。
除了BLE_WAKEUP_LP_HANDLER()中的PERIPH_INIT()函数的调用,哪一个可以使PWM不连续?

mt_dialog.
离线
最后一次露面:6天16小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

看门狗定时器是否已启用。也许这是因为它。如果系统未睡眠,它永远不会重新初始化看门狗定时器,并且看门狗定时器溢出,这会导致系统发出平台重置命令并重新启动。如果它启用并尝试,请您可以禁用看门狗定时器吗?

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月3周前
专家
加入:2014-09-24 11:51
嗨,mt_dialog,

嗨,mt_dialog,

它与看门狗定时器无关。

谢谢溧阳

mt_dialog.
离线
最后一次露面:6天16小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

WatchDog计时器是否在您的项目中启用?

您可以通过使用自定义空函数替换jump_table.c文件中的platform_reset_func来检查平台重置问题,并尝试使用脱染中的断点捕获函数的呼叫。

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月3周前
专家
加入:2014-09-24 11:51
嗨,mt_dialog,

嗨,mt_dialog,

相信我,它与看门狗定时器无关。

谢谢溧阳

mt_dialog.
离线
最后一次露面:6天16小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

如果你不打电话禁用休眠,你可以检查probelm是否仍然存在,但是在充电时尝试将DA14580唤醒,但不要让它在循环中进一步移动以睡着?

谢谢mt_dialog.