你好,
有没有定时器用来唤醒DA14580从睡眠模式?
例行公事应该是启动定时器与特定的持续时间让DA14580入睡而不是在计时器回调函数后唤醒?
请帮助
嗨gert186,
是的,您可以通过app_easy_timer() api使用内核计时器,以便在预定义的时间后唤醒580,您将能够在UM-B-051 DA1458x软件平台参考文档中找到关于这个api的更多信息。正如您所提到的,app_easy_timer()需要两个参数:延迟和延迟一过就执行的回调。
由于MT_dialog
感谢您的响应,但我不明白如何使用app_easy_timer()在唤醒计时器的情况下!
我不明白如果DS14580休眠,回调函数将如何操作?
空白user_prepare_sleep (){//设置UART RX的唤醒wkupct_register_callback (user_wakeup);
//指定IO引脚,极性,事件计数和计数器IRQ的恢复时间wkupct_enable_irq(Wkupct_pin_select (uart2_rx_gpio_port, uart2_rx_gpio_pin), // uart rx . Wkupct_pin_select (uart2_rx_gpio_port, uart2_rx_gpio_pinwkupct_pin_极性(UART2_RX_GPIO_PORT, UART2_RX_GPIO_PIN, WKUPCT_PIN_POLARITY_LOW), //极性低1, //事件数0 //恢复时间= 0ms);
arch_set_extended_sleep ();}
这很清楚,但如果我想使用回调来自动唤醒,它会是什么样子?因为这里是UART RX PIN。我想睡一个特定的时间,然后自动唤醒它。
我不确定我跟随这个问题,唤醒定时器模块使用以延长睡眠和醒来app_easy_timer () API使用内核计时器为了安排一个事件在不久的将来,为了使设备醒来后一定延迟。这两个是580的完全不同的功能。您所附加的代码用于从外部中断中唤醒,并且在一定的延迟后不唤醒。如上所述,你可以停止所有的BLE活动,并设置一个计时器,如app_easy_timer(100, callback)。例如,让我们假设你想在一段特定的时间内做广告,然后停止广告,保持睡眠模式,然后醒来再做一次广告。因此,您可以在开始发布过程之前设置一个计时器,以便发出advertise stop命令。当计时器结束并发出stop命令时,将调用.app_on_adv_undirect_complete回调,在该回调中,您可以设置另一个计时器,为您希望发出开始发布命令的时刻计时。所以当时间过了,定时器的回调将会发生,在回调中,你应该调用那个start advertise命令。
嗨gert186,
是的,您可以通过app_easy_timer() api使用内核计时器,以便在预定义的时间后唤醒580,您将能够在UM-B-051 DA1458x软件平台参考文档中找到关于这个api的更多信息。正如您所提到的,app_easy_timer()需要两个参数:延迟和延迟一过就执行的回调。
由于MT_dialog
感谢您的响应,但我不明白如何使用app_easy_timer()在唤醒计时器的情况下!
我不明白如果DS14580休眠,回调函数将如何操作?
空白user_prepare_sleep ()
{
//设置UART RX的唤醒
wkupct_register_callback (user_wakeup);
//指定IO引脚,极性,事件计数和计数器IRQ的恢复时间
wkupct_enable_irq
(
Wkupct_pin_select (uart2_rx_gpio_port, uart2_rx_gpio_pin), // uart rx . Wkupct_pin_select (uart2_rx_gpio_port, uart2_rx_gpio_pin
wkupct_pin_极性(UART2_RX_GPIO_PORT, UART2_RX_GPIO_PIN, WKUPCT_PIN_POLARITY_LOW), //极性低
1, //事件数
0 //恢复时间= 0ms
);
arch_set_extended_sleep ();
}
这很清楚,但如果我想使用回调来自动唤醒,它会是什么样子?
因为这里是UART RX PIN。
我想睡一个特定的时间,然后自动唤醒它。
嗨gert186,
我不确定我跟随这个问题,唤醒定时器模块使用以延长睡眠和醒来app_easy_timer () API使用内核计时器为了安排一个事件在不久的将来,为了使设备醒来后一定延迟。这两个是580的完全不同的功能。您所附加的代码用于从外部中断中唤醒,并且在一定的延迟后不唤醒。如上所述,你可以停止所有的BLE活动,并设置一个计时器,如app_easy_timer(100, callback)。例如,让我们假设你想在一段特定的时间内做广告,然后停止广告,保持睡眠模式,然后醒来再做一次广告。因此,您可以在开始发布过程之前设置一个计时器,以便发出advertise stop命令。当计时器结束并发出stop命令时,将调用.app_on_adv_undirect_complete回调,在该回调中,您可以设置另一个计时器,为您希望发出开始发布命令的时刻计时。所以当时间过了,定时器的回调将会发生,在回调中,你应该调用那个start advertise命令。
由于MT_dialog