微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于CC2540的pairing问题

关于CC2540的pairing问题

时间:10-02 整理:3721RD 点击:

基于官方1.4.1协议栈,部分代码如下:

uint32 passkey = 1234; // passkey "000000"
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8 mitm = TRUE;
uint8 ioCap = GAPBOND_IO_CAP_DISPLAY_YES_NO;
uint8 bonding = FALSE;

static void ProcessPasscodeCB(uint8 *deviceAddr,uint16 connectionHandle,uint8 uiInputs,uint8 uiOutputs )
{
uint32 passcode = 1234;

// Send passcode response
GAPBondMgr_PasscodeRsp( connectionHandle, SUCCESS, passcode );
}

用这样的配置, 然后用iPhone连接,出现这样的情况:手机弹出输入密码,但是我按了取消,然后照样是显示“连接成功”。 这是怎么回事!?

Sanwzy,

你这样配置是主动发起连接。

你在iPhone上取消,iPhone也是能连接成功的。iOS默认是不需要配对的。

本质上,在你配对之前,设备已经连接成功了。

我在 peripheralPairStateCB() 里配对失败的时候调用 GAP_TerminateLinkReq( simpleBLEPeripheral_TaskID, connHandle, HCI_DISCONNECT_AUTH_FAILURE ); 断开连接, 但是好像没效果!是使用不对吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top