• 正文
  • 相关推荐
申请入驻 产业图谱

手把手教你:打印配对失败的LOG信息

07/20 08:33
94
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、前言

本篇将讲解如何人为的操作手机app使配对失败,然后打印出配对失败的LOG信息。

二、阅读说明

1、泰凌微芯片学习者,前期使用过该芯片。

2、能够知道怎么进行创建工程,下载代码。

3、有一块开发板,板上的芯片可以是8251,8253或者8258。

三、正文

1、使用的SDK使用的sdk和demo为该篇文章描述的“手把手教你:打印配对第二阶段过程中的LOG信息”;

2、配对失败事件标志介绍

GAP_EVT_MASK_SMP_PAIRING_FAIL

如上图箭头所示,我们需要加入配对失败的事件标志,这样在配对失败的时候才会触发相应的回调。

3、配对失败回调函数

如上图所示,配对失败的处理函数在app.c中的app_host_event_callback中。当配对失败的时候会打印出gap_smp_pairingFailEvt_t结构体的信息,gap_smp_pairingFailEvt_t结构体内容如下:

/** * @brief      data structure of GAP_EVT_SMP_PAIRING_FAIL event parameters */typedef struct {    u16 connHandle;    u8  reason;} gap_smp_pairingFailEvt_t;

其中包含2个字节的连接句柄,其中一个字节是失败原因。

4、配对失败测试

4.1、用手机app进行搜索“vSample”广播

点击CONNECT进行连接

4.2、在弹出的配对对话框中点击取消按键

如上图所示点击“CANCEL”按钮。

4.3、串口打印数据

[APP][SMP] paring fail:: 40 00 09

如上图所示打印出了配对失败的log信息,其中配对失败的原因为0x09,那么这个失败原因具体所指的是什么呢,如下图所示:

大家可以在“tc_ble_single_sdkstackblehostsmpsmp.h”中进行查找。备注:配对失败之后会断连。

四、结尾

本篇结合代码讲解了配对失败的log信息,到现在为止关于配对打印和回调,以及部分log打印的介绍就此完毕,因为在讲解的过程当中经常会涉及到连接句柄,下一篇将科普一下连接句柄是什么,为什么很多api中要填连接句柄这个参数。

我写了一个合集,不依赖 Nordic、泰凌、瑞萨等厂商商用 BLE 协议栈,从无线底层链路层入手,从零手写 BLE 广播扫描逻辑,拆解蓝牙广播包、信道切换、射频调度、广播数据解析完整流程,适合想吃透 BLE 底层、自主开发蓝牙工具、规避商用协议栈授权限制的嵌入式开发者。

泰凌微电子

泰凌微电子

泰凌微电子(上海)股份有限公司成立于2010年6月,是一家专业的集成电路设计企业, 主要从事无线物联网系统级芯片的研发、设计及销售,专注于无线物联网芯片领域的前沿技术开发与突破。 通过多年的持续攻关和研发积累,已成为全球该细分领域产品种类最为齐全的代表性企业之一。

泰凌微电子(上海)股份有限公司成立于2010年6月,是一家专业的集成电路设计企业, 主要从事无线物联网系统级芯片的研发、设计及销售,专注于无线物联网芯片领域的前沿技术开发与突破。 通过多年的持续攻关和研发积累,已成为全球该细分领域产品种类最为齐全的代表性企业之一。收起

查看更多

相关推荐