C++ 如何使用BLE scan_stop

C++ 如何使用BLE scan_stop,c++,bluetooth-lowenergy,keil,C++,Bluetooth Lowenergy,Keil,我正在做一个程序,允许我的信标和DK板开始扫描和停止扫描使用BLE。我可以开始扫描,但我不知道如何停止扫描。有谁能给我这个建议吗?提供的代码是我的扫描开始。谢谢大家! static void scan_start(void) { uint32_t err_code; err_code = sd_ble_gap_scan_start(&m_scan_params); APP_ERROR_CHECK(err_code); err_code = bsp_i

我正在做一个程序,允许我的信标和DK板开始扫描和停止扫描使用BLE。我可以开始扫描,但我不知道如何停止扫描。有谁能给我这个建议吗?提供的代码是我的扫描开始。谢谢大家!

static void scan_start(void)
{

    uint32_t err_code;

    err_code = sd_ble_gap_scan_start(&m_scan_params);
    APP_ERROR_CHECK(err_code);

    err_code = bsp_indication_set(BSP_INDICATE_SCANNING);
    APP_ERROR_CHECK(err_code);
}

停止扫描和启动取决于您在何处使用此功能。例如,如果在主功能(For循环之前)中使用scan_start,一段时间后,如果没有连接,它将进入睡眠模式并停止扫描

否则,如果要控制开始扫描时间,可以定义应用程序计时器功能。例如,您可以定义一个计时器或按钮处理程序,在按下按钮时开始扫描

如果你仍然找不到你想要的答案,还有另一个建议。您可以使用文件“ble_gap.h”中的停止扫描功能来停止扫描。功能是这样的

SVCALL(SD_BLE_GAP_SCAN_STOP, uint32_t, sd_ble_gap_scan_stop(void));
(void) sd_ble_gap_scan_stop();
你可以这样使用

SVCALL(SD_BLE_GAP_SCAN_STOP, uint32_t, sd_ble_gap_scan_stop(void));
(void) sd_ble_gap_scan_stop();

如果有任何错误,请改正。我希望这将是有用的…

您是否查看了文档/api参考?如中所述,我不知道如何从代码开始停止扫描。