发 帖  
【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

[经验] NORDIC SDK15.0 实现NRF52832等单通道扫描模式配置

2018-4-16 14:38:07  1752
分享
0
1.在main.c文件内增加如下:static ble_gap_scan_params_t const m_scan_params =
{
    .active   = 1,
    .interval = SCAN_INTERVAL,
    .window   = SCAN_WINDOW,
    .timeout          = SCAN_DURATION,
    .scan_phys        = BLE_GAP_PHY_1MBPS,
    .filter_policy    = BLE_GAP_SCAN_FP_ACCEPT_ALL,
          .channel_mask[4]  =0xC0,
};
2.在main.c  
static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)函数内修改如下:



typedef struct
{
    uint8_t     * p_data;                                                      /**< Pointer to data. */
    uint16_t      data_len;                                                    /**< Length of data. */
}data_t;

unsigned char ch_number=0;

unsigned char rssi_positive;


case BLE_GAP_EVT_ADV_REPORT:

data_t adv_data;

ble_gap_evt_adv_report_t adv_report =                               p_ble_evt>evt.gap_evt.params.adv_report;







         // Initialize advertisement report for parsing.

            adv_data.p_data   =   p_ble_evt->evt.gap_evt.params.adv_report.data.p_data;

            adv_data.data_len =   p_ble_evt->evt.gap_evt.params.adv_report.data.len;

                               

                                    rssi_positive = ~(adv_report.rssi)+0x01;     //abs();

                                    ch_number     =   adv_report.ch_index;

                               


                                    for(uint8_t i=0;i<adv_data.data_len;i++)

                                    printf("%02x",adv_data.p_data);

                                                printf("ch_number=%d",ch_number);

                                    printf("\r\n");

               



只有小组成员才能发言,加入小组>>

301个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表