亲爱的Dialog_Support团队,
我在我的应用中使用Timer0和Timer2来播放蜂鸣声,并计算按钮按下的时间。现在我想在我的应用程序中添加睡眠模式,并在添加扩展睡眠模式后,定时器无法正常工作。我还阅读了不同的对话框的论坛帖子,即Timer0和Timer2将无法使用睡眠模式。那么我可以通过app_easy_timer替换两个计时器吗?我在Timer0,2中配置了职责周期,以播放蜂鸣声。那么如何使用app_easy_timer设置职责循环?
感谢致敬,
Ruchi Patel.
设备:
嗨Ruchi Patel,
定时器0和2是硬件定时器,因此它们具有生成脉冲宽度调制信号的能力,基于此功能可以产生蜂鸣声。没有选择用App_easy_Timer(软件计时器)替换这两个定时器中的一个
布罗尔,
sts_dialog。
亲爱的Dialog_Support团队,
对不起,我已经给了你对timer0,2的错误解释。
我希望我的设备处于睡眠模式,当按下按钮或应用程序没有任何中断时。在设备中断后,Timer0,2应该从睡眠中醒来,完成工作,然后再次睡觉。我不想在睡眠期间运行Timer0,2。所以有可能吗?
你能建议我的延长睡眠模式的任何好的和相关的例子吗?
先感谢您。
带着敬意,
Ruchi Patel.
嗨Ruchi Patel,
大多数示例在扩展睡眠模式下运行,如果您想要使用按钮的按钮运行的示例,例如在睡眠模式下,并且一旦按下按钮或发生中断,设备会唤醒您可以检查BLE_APP_SLEEPMODE,原始配置用于深度睡眠,但您可以通过将APP_DEFAULT_SLEEP_MODE从ACH_DEEP_SLEEP_ON更改为ARCH_EXT_SLEEP_ON来轻松更改,并通过将内存配置更改为CFG_MEM_MAP_EXT_SLEEP。完成后,您可以设置定时器以便生成PWM并在运行时禁用睡眠,只要您希望设备生成PWM,就可以在准备好进入睡眠时,禁用计时器并设置将睡眠模式返回到EXTED(为了在运行时更改睡眠模式,您可以使用ARCH_DISABLE_SLEEP()和ARCH_SET_EXTEDED_SLEEP())。
谢谢mt_dialog.
亲爱的Dialog_Support团队,
感谢您的答复。我根据您的建议配置了我的设备。现在我想知道,在睡眠模式下可以广告可以广告吗?如果是,则在代码中,如果从按钮或app没有任何中断,则将睡眠模式函数(API)。
感谢致敬,
Ruchi Patel.
嗨Ruchi Patel,
当启用睡眠模式时,它意味着当设备无法实现睡眠时,设备能够在广告或连接时段之间进行广告和睡眠,这意味着即使没有BLE活动,该设备也会保持醒索。所以简而言之,当580处于睡眠模式时,它将唤醒广告并自动睡觉。关于问题“将睡眠模式函数(API)”的问题“我不太明白,显然您想要启用PWM并保持设备在两个事件之间的某个时段内唤醒,其中一个会触发PWM事件并且一个将结束PWM并将设备发送回睡眠模式,因此当触发事件时,您将禁用睡眠并以PWM模式启动计时器,当其上方将禁用PWM并将设备发送回睡眠时。
谢谢mt_dialog.
亲爱的Dialog_Support团队,
感谢您的快速答复。
1.您能否指导我,如果我的设备处于扩展睡眠模式和设备应始终广告。是否可以?如果设备始终广告,则功耗如何?
我正在使用加速度计传感器。传感器通过I2C与DA14580通信。每当有移动时,加速度计会导致控制器中断。理想情况下,控制器应从睡眠模式中唤醒,但在扩展睡眠模式下,控制器未接收来自加速度计的任何类型的中断。其在完全活动模式下工作正常。
3.当我按下按钮时,设备从睡眠模式唤醒,然后立即再次进入睡眠模式。由于此,我的蜂鸣器音没有正常工作。蜂鸣器戒指非常快。如何增加唤醒时间或者我想完成我的任务然后在任务结束时,设备再次进入睡眠模式。
带着敬意,
Ruchi Patel.
嗨Ruchi Patel,
1)是的,存在是睡眠模式,并且可以唤醒广告,设备的电源增量取决于设备的广告频率(意味着唤醒和发送广告包的频率)。所以它取决于广告间隔,并且功耗的值不是固定的,你唤醒了你的功率越多。
2)为了从睡眠中唤醒,您必须配置唤醒定时器,这意味着您必须配置580的唤醒模块,以便从外部中断唤醒,而设备处于睡眠状态模式。您可以检查BLE_APP_SLEEPMODE项目,其中设备从通过按钮按下的外部中断从外部中断唤醒。在你醒来之后,你可以履行你想要的行动,宣传或阅读加速度计等。如果您正确配置了唤醒定时器,设备仍然没有醒来,那么您应该检查唤醒的手机发信号,也许是你有套装等的脱髓。
3)由于设备将通过外部中断唤醒它将检查是否有任何未决的BLE事件,如果没有任何情况,那么设备将重新睡眠,以防止设备返回睡眠状态,您可以刚刚调用ARCH_DISABLE_SLEEP()并保留设备唤醒,当它的时间返回睡眠时,您可以调用ARCH_SET_EXTEDDED_SLEEP()另一种方式是留下睡眠状态并防止设备往往通过在app_on_ble_powered()中应用一些自定义代码或在app_on_system_powered()回调中休眠,并在条件上返回Keep_powered(以防止设备进入睡眠)或Goto_Sleep(允许设备进入睡眠)。因此,只要您希望蜂鸣器响起,您可以保持设备唤醒,随时随地睡觉。
谢谢mt_dialog.
亲爱的Dialog_Support,
感谢你的回复。
1)我明白这一点。我在我的应用程序代码中实现了这一点。即使在睡眠模式下,我也希望我的设备要做广告。所以它成功实施了。
2)我已经实现了与BLE_APP_SLEEPMODE示例相同的外部中断。但在我的自定义应用程序中,使用单个按钮实现了3个不同的功能。例如,如果按下按钮3次,那么功能'a'将运行,如果按钮长按3秒钟,那么功能'b'将运行,如果按下按钮5次,那么功能'c'将跑。但是,我只能生成外部中断唤醒,只有我为3个功能编写了代码而仅为一个功能唤醒。你能帮我帮忙吗?你能更重要地解释我,了解极性和脱嘴如何影响睡眠和唤醒功能。
3)是的我已经使用了这两个函数ARCH_DISABLE_SLEEP()和ACH_SET_EXTEDDE_SLEEP()唤醒设备并放置设备处于睡眠模式。
再次感谢您的乐于助人的回复。我面临一个问题。每当移动应用程序尝试连接到设备时(当设备处于睡眠模式时,设备处于睡眠模式及其广告时),设备无法平滑连接,这意味着它需要长时间连接,有时它会显示连接失败,断开连接。我的意思是它在睡眠模式下不顺利工作,因为它在活动模式下顺利工作。这可能是什么原因?我还配置了,每当应用程序连接到设备时,设备应从睡眠中唤醒,然后在设备断开连接时返回睡眠状态。
带着敬意,
Ruchi Patel.
嗨Ruchi Patel,
关于第二个问题,对不起,我无法理解这个问题,是的,你可以实现一个函数,你可以在哪里跟踪按下按钮的时间,但从上一个帖子我明白设备无法唤醒。设备无法唤醒通过来自SESNor的中断,所以我可以假设的是,也许这与唤醒定时器必须跟踪或由于唤醒定时器实现的替代功能的特征有关。您将能够在UM-B-051 DA1458X软件平台refence.pdf中找到有关这些设置的更多信息,请参见第10.7段唤醒定时器。
睡眠模式和始终是关于设备的连接过程的活动模式之间没有区别,我的意思是中央将等待广告事件以启动连接过程,以及睡眠时的设备或设备没有,将以固定的连接间隔宣传,可以延迟连接过程是广告间隔很大的事实,这与睡眠模式无关。我建议在睡眠模式下运行某些对话框,然后在没有睡眠模式的情况下再次尝试,并检查您是否可以将这些示例复制为参考。
谢谢mt_dialog.
亲爱的Dialog_Support,
谢谢你的不断支持。现在我能够使用传感器中断唤醒睡眠状态。配置扩展睡眠模式后,我注意到我的自定义应用程序在之前的情况下不顺利工作。我面临的问题是,
1.智能手机的应用程序无法轻松连接电路板(开发套件或定制板)。它显示了“连接”,“连接失败”,“断开连接”的状态。
2.使用自定义应用程序有一个按钮。而且我已配置为我按下按钮,设备应该从睡眠中唤醒。但是在按下按钮后有时,设备不会醒来。
带着敬意,
Ruchi Patel.
嗨Ruchi Patel,
由于您之前的问题已得到解答,请不要在无关的论坛主题中发布其他问题,您可以随时为您的问题创建一个新主题。
谢谢mt_dialog.