This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2541:使用 CC2541进行连续扫描

Guru**** 2380860 points
Other Parts Discussed in Thread: CC2541
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1409695/cc2541-continuous-scanning-with-cc2541

器件型号:CC2541

工具与软件:

在我的项目中 、CC2541器件应该持续扫描(是的、我知道它需要更多的功耗)我应该使用哪些设置?

我的项目基于 SimpleBLEObserver 示例、其中我可以看到扫描持续时间可以设置为最大为65535 mil。

与永恒相比,这是非常短的:-)

我使用的是1.5.2.0 SDK  

我对切换到另一器件(ex.cc2340)不感兴趣  

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您联系我们。 您能分享如何设置项目的扫描参数吗?

    此致、

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的! 以下是 要点:

    我的项目基于 SimpleBLEObserver 示例

    设置如示例所示:

    /
    *常量
    */

    //最大扫描响应数
    #define DEFAULT_MAX_SCAN_RES 8.

    //扫描持续时间(以 ms 为单位)
    #define DEFAULT_SCAN_DURATION                  10000

    // Discovey 模式(受限、一般、全部)
    #define DEFAULT_DISCOVERY_MODE                 DEVDISC_MODE_ALL

    // true 以使用活动扫描
    #define DEFAULT_DISCOVERY_ACTIVE_SCAN          对

    // true 在发现期间使用白名单
    #define DEFAULT_DISCOVERY_WHITY_LIST           错

    / /

    在上述代码中、我更改了   DEFAULT_DISCOVERY_ACTIVE_SCAN  

    之所以正确、是因为我希望能够使用 GAP_ADTYPE_LOCAL_NAME_COMPLETE 来识别广告使用者

    我还将  DEFAULT_SCAN_DURATION 更改为10000

    接下来,因为我没有任何键,我不能使用键来启动和停止扫描,因此  

    我在  GAP_DEVICE_INIT_DONE_EVENT  事件的 simpleBLEObserverEventCB ()中启动计时器  

     这会将事件发送到 SimpleB2 Observer_Process ()函数,

    Osal_start_timerEx( simpleBLETaskId, renew_scan_evt, 10 );

    在   Observer_Process ()中,我终于开始扫描了,请致电:

    GAPOb3042G( Role_Start DEFAULT_DISCOVERY_MODE,
                     DEFAULT_DISCOVERY_ACTIVE_SCAN、
                      DEFAULT_DISCOVERY_WHITY_LIST );

    位于   renewe_scan_evt  

    if (events & renew_scan_evt)

    GAPOb3042G( Role_Start DEFAULT_DISCOVERY_MODE,
                    DEFAULT_DISCOVERY_ACTIVE_SCAN、
                    DEFAULT_DISCOVERY_WHITY_LIST );

    }
    return (Events ^ Renew_SCAN_EVT);
    }

    附加了完整的项目

    e2e.ti.com/.../SimpleBLEObserver.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    明白了。 感谢您的分享。 我建议在收到 GAP_DEVICE_DISCOVERY_EVENT 事件时为其添加一些逻辑、以重新启用扫描。 这应该会导致在禁用扫描后立即启用扫描。

    此致、

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    就是这样。  

    我调用  

    GAPOb3042G( Role_Start DEFAULT_DISCOVERY_MODE,
                     DEFAULT_DISCOVERY_ACTIVE_SCAN、
                      DEFAULT_DISCOVERY_WHITY_LIST );

    创建了一个配置文件  

    我也重拨时间到1000ms  

    谢谢