我看了simpleperipheral 和 central 的例子,他们初始化都是设置的GAPBOND_PAIRING_MODE_WAIT_FOR_REQ 等待配对.那么我的问题是,到底是peripheral 发起的配对请求还是central?在什么时候发起的配对请求?
这样两边其实都没有发起配对.
除非其中一个配置成GAPBOND_PAIRING_MODE_INITIATE, 如果是central 的话会发起pairing request, 如果是peripheral 的话会发起slave security request, 最终会导致central 那端收到 GAP_SLAVE_REQUESTED_SECURITY_EVENT, 这个时候你看代码, 如果central 也是出于GAPBOND_PAIRING_MODE_WAIT_FOR_REQ, 那么他还是会发起配对.
所以, 只要其中一个设置成GAPBOND_PAIRING_MODE_INITIATE, 两边就会配对, 如果都是
GAPBOND_PAIRING_MODE_WAIT_FOR_REQ, 那么就没有配对过程.
你可以修改其中一个看看
怎么设置才能使得必须配对之后才能进数据传输呢?
这个只有你自己设个状态判断了.蓝牙标准里面并没有规定必须配对才能传数据.