Nordic 52832 扫描(死机问题)

1,相关参数定义

#define SCAN_INTERVAL                   0x0140  //200ms   最小单位:0.625ms                  
#define SCAN_WINDOW                     0x00A0  //100ms   最小单位:0.625ms
#define SCAN_DURATION                   0x0258  //6s      最小单位:10ms ,当设置为0,一直扫描  

注意:当设置周期扫描时,一定要设置 SCAN_INTERVAL >= 2x SCAN_WINDOW ,不然容易造成死机的问题        

 2,相关服务初始化

 ble_stack_init();
 gatt_init();

3,开始扫描

scan_start();

4,如果扫描到蓝牙信标

static void ble_evt_handler(ble_evt_t const *p_ble_evt, void *p_context)
{
    ret_code_t err_code;
    uint8_t i;

    // For readability.
    ble_gap_evt_t const *p_gap_evt = &p_ble_evt->evt.gap_evt;

    switch (p_ble_evt->header.evt_id)
    {
    // Upon connection, check which peripheral has connected (HR or RSC), initiate DB
    // discovery, update LEDs status and resume scanning if necessary. */
   
    case BLE_GAP_EVT_ADV_REPORT:
    {
        // Advertising data received
        const ble_gap_evt_adv_report_t *p_adv = &p_ble_evt->evt.gap_evt.params.adv_report;

        if(p_adv->data.p_data[0] == 0x02 && p_adv->data.p_data[1] == 0x01)
        {
            uint8_t i;
            uint8_t *uuid;

            uuid = p_adv->data.p_data + 9;
            if(!strncmp(uuid, ProximityUUID, 8)) //CHG
            {
                uint16_t major;
                uint16_t minor;
                int rssi;
                static uint8_t imei[4];
                uint8_t k = 0;

                major = uuid[16] * 0x100 + uuid[17];
                minor = uuid[18] * 0x100 + uuid[19];
                rssi = p_adv->rssi;


                for(k = 0; k < 4; k++) 
                {
                    ime
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

试探你的温柔耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值