按照群主告诉我的,我设置蓝牙模块发起配对,设置如下:
GAP setting
Security 中设置
- Security mode: Mode1
- security level: Authenticated pairing with encryption
- I/O capabilities : Keyboard and Display
- Bonding requirement: Bonding
- Encrrytion Key size(bytes) 16

代码部分:

  case CYBLE_EVT_GAP_DEVICE_CONNECTED:

            CyBle_GapAuthReq(connHandle.bdHandle, &cyBle_authInfo);

            break;

这样设置了,没什么反应呀,还是能连接上,不出现配对请求
群主求解答

    把I/O capabilities : Keyboard and Display改成I/O capabilities :Display Only

      Wireless-Tech 把I/O capabilities : Keyboard and Display改成I/O capabilities :Display Only

      按照你说的了改,IOS的可以出现配对,但是安卓的没有,直接就可以连接,另外CYBLE_API_RESULT_T CyBle_GapFixAuthPassKey ( uint8 isFixed, uint32 fixedPassKey ) API手册里没有呀,用不了

        Wireless-Tech 按照你说的了改,IOS的可以出现配对,但是安卓的没有,直接就可以连接,另外CYBLE_API_RESULT_T CyBle_GapFixAuthPassKey ( uint8 isFixed, uint32 fixedPassKey ) API手册里没有呀,用不了

        答:
        1、我看了你发给我的工程,你的BLE组件版本是2.2的,你要升级成3.1就有这个API组件了,API手册在群里
        2、你这个在连接事件时,你用错api了,你应该用这个API函数:
        CyBle_GapAuthReq (connHandle.bdHandle, &cyBle_authInfo);
        3、不要用局部变量的connHandle,你直接用全局变量cyBle_connHandle通过1、2、3修改就没有问题了

          配对密码可以用了,但是还是只有苹果手机出现配对,安卓的还是毫无阻挡的就连接上,而且通信也正常。还有个问题就是苹果手机配对后并没有保存,而是每次连接都要配对一次,这个要特殊设置吗,群主大人

            Wireless-Tech 配对密码可以用了,但是还是只有苹果手机出现配对,安卓的还是毫无阻挡的就连接上,而且通信也正常。还有个问题就是苹果手机配对后并没有保存,而是每次连接都要配对一次,这个要特殊设置吗,群主大人

            1、你要用全局变量cyBle_connHandle,这个不需要你定义声明,系统自动生成的了
            2、BLE组件的security level: Authenticated pairing with encryption这里这样设置
            3、BLE组件的Bonding requirement: Bonding这样设置,这样就不会出现每次都弹出配对码了。
            4、如果还是出问题,你把你的BLE组件的安全设置、连接事件的处理,截个图看看

              好了,可以了,谢谢群主
              设置成全局变量cyBle_connHandle就可以了

              安全设置就按照你说的设置的,

              连接时间处理:

                case CYBLE_EVT_GAP_DEVICE_CONNECTED:
                           CyBle_GapFixAuthPassKey(1,123456);
                           CyBle_GapAuthReq (cyBle_connHandle.bdHandle, &cyBle_authInfo);
                          break;

                Wireless-Tech 好了,可以了,谢谢群主

                这个修改配对码好像是要在BLE初始化之前才有效的,否则是无效。

                  撰写回复...