蜂鸣器简介启用

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
BLEBOT.
离线
最后一次露面:3周3天前
加入:2017-11-27 16:01
蜂鸣器简介启用

嗨对话框,

我们正在使用具有DA14585和SDK 6.0.10的定制板。我们要添加蜂鸣器并通过服务控制它。我们已添加服务,但我们想要连续发出哔哔声而不是音符。我们看到Timer0_PWM示例并通过将其作为参考来实现。我们正在使用扩展的睡眠模式。你能告诉我如何配置它,以便我能听到连续发出哔声的声音?

设备:
PM_DIALOG.
离线
最后一次露面:1天19小时前
职员
加入:2018-02-08 11:03
嗨Blebot,

嗨Blebot,

让我问你一些问题,以了解你的要求的更深层次,你想做什么。

  1. 您提到您希望通过自定义服务控制蜂鸣器。你能澄清一下吗?你想写一个“开始”命令,开始生成PWM并在编写“停止”命令时,应该停止蜂鸣器?所以,你想尽快在空中停止时产生连续的哔哔声。我的理解是否正确?除非,否则请为我提供更多细节。
  2. 请在SDK的Timer0_PWM示例中检查Timer0_pwm_test_expiration_counter变量。变量具有值timer0_pwm_test_expiration_counter_reload_value(默认情况下)。当您获取SWTIM_IRQN中断时,将触发PWM0_USER_CALLBACK_FUNCTION,如果检查源代码,则每次回调命中时,TIMER0_PWM_TEST_EXPION_COUDETER会在每次回调时都会减少。当Timer0_pwm_test_expiration_counter转到零时,Timer0将被停止。
  3. 此外,您提到使用扩展睡眠模式,请注意,当设备进入睡眠模式时,所有外围设备块(包括计时器块)断电。

谢谢,PM_DIALOG.

BLEBOT.
离线
最后一次露面:3周3天前
加入:2017-11-27 16:01
你好,

你好,

谢谢回复。

1.是的,究竟。

2.在Timer0_PWM示例中,当您说Timer0_pwm_test_expiration_counter时,每次递减时都会递减为零,当它到零时,Timer_0将停止,但除非我给出命令来停止,我不希望它停止。我希望蜂鸣器制作连续发出蜂鸣声听起来是我停下来的。有没有办法做到这一点 ?此外,在榜样中还有一个音符,但我不想只是一个简单的哔声播放笔记。

3.当设备进入睡眠模式时,我会使定时器块未关闭关闭?如果是,怎么样?

谢谢,

blebot。

PM_DIALOG.
离线
最后一次露面:1天19小时前
职员
加入:2018-02-08 11:03
嗨Blebot,

嗨Blebot,

请检查SDK的BLE_APP_PERITEDAL示例,并侧重于user_catch_rest_hndl()回调函数,该函数处理SDK内部机制未处理的消息。假设您具有可写的特性,以便发送start / stop命令。在ble_app_peripheral示例中,当写入“控制点”特性时,您将获得一个svc1_idx_control_point_val,user_svc1_ctrl_wr_ind_handler()将被触发,它是控制点写入指示处理程序。“控制点”特性具有1字节的长度。与您的案例相同:start:0x01 - 停止:0x00。写入特性的值存储到&param->值[0]中,因此您应该将其复制到“val”。

  • 如果“val”等于开始,则应在Timer0_PWM示例中启用-Set-set-start-start-start-start-start
  • 如果“val”等于停止,则应停止Timer0(timer0_stop())。

关于Timer0_PWM示例,正如我之前提到的那样,每次生成中断时,触发PWM0_USER_CALLBACH_FUNCTION()。Notes存储在Notes []数组中。在您案例中,您应该发现哪个是蜂鸣声的适当波形,并相应地修改回调。关于你的最后一个问题,这是不可能的。如果您发现任何答案有用,请将其标记为“已接受”。

谢谢,PM_DIALOG.

BLEBOT.
离线
最后一次露面:3周3天前
加入:2017-11-27 16:01
嗨对话框,

嗨对话框,

谢谢回复 。我们知道如何编写和处理“控制点”特征。

有没有办法我们可以在睡眠模式下锻炼功能?

谢谢,

BLEBOT.

PM_DIALOG.
离线
最后一次露面:1天19小时前
职员
加入:2018-02-08 11:03
嗨Blebot,

嗨Blebot,

正如已经提到的那样,一旦设备进入睡眠状态,所有外围块都会断电。

谢谢,PM_DIALOG.

BLEBOT.
离线
最后一次露面:3周3天前
加入:2017-11-27 16:01
你好,

你好,

谢谢 。只要设备从睡眠中取出并在设备进入睡眠模式时关闭时,我可以制作蜂鸣声音吗?

问候,

blebot。

PM_DIALOG.
离线
最后一次露面:1天19小时前
职员
加入:2018-02-08 11:03
嗨Blebot,

嗨Blebot,

通常,该设备在广告和连接间隔之间进入睡眠。在睡眠前的销的状态,保留但不是PIN的配置或功能。当设备唤醒即将调用PeripH_Init()函数时,以便在每个唤醒中重新配置引脚,引脚返回其默认应用程序状态。因此,如果任何GPIO在睡眠前高,它会在睡眠期间保持高,并且将通过PERIPH_INIT()函数唤醒重新配置。您是否希望在SDK的BLE_APP_SLEEPMODE示例中实现永久睡眠?

谢谢,PM_DIALOG.

BLEBOT.
离线
最后一次露面:3周3天前
加入:2017-11-27 16:01
你好,

你好,

是的,我们使用的是在BLE_APP_SLEEPMODE示例中实现的永久睡眠,但未从OTP复制。我们只想每次设备醒来时让蜂鸣声。

谢谢,Blebot。

PM_DIALOG.
离线
最后一次露面:1天19小时前
职员
加入:2018-02-08 11:03
嗨Blebot,

嗨Blebot,

好吧,让我描述你可能的实现。请检查SDK的BLE_APP_SLEEPMODE示例。

  • 该设备进入扩展睡眠模式,在广告和连接间隔之间使用OTP复制。请注意是opt副本的模拟,因为cfg_development_debug在da1458x_config_basic.h中定义。请在主人文件中查看此宏并阅读注释以获取更多信息。
  • 芯片启动广告,直到定时器超时在预定义的时间之后为app_adv_data_update_to秒秒和触发adv_data_update_timer_cb()回调。
  • 在此回调中,调用app_easy_gap_advertise_stop(),它将Gapm_cancel_cmd发送到堆栈
  • 发送消息时,触发user_app_adv_undirect_complete()。因此,在这个回调中,您可以停止PWM - 设备进入睡眠状态。
  • 只有外部可以唤醒设备。
  • 按下按钮后,将触发app_wakeup_cb(),广告将重新启动。所以,您可以在App_wakeup_cb()内启动PWM

这是一个可能的实现。如果您发现它有用,请将答案标记为“已接受”

谢谢,PM_DIALOG.