ZHCACZ4 August   2023 CC2564C

 

  1.   1
  2.   摘要
  3.   商标
  4. 1演示应用程序
  5. 2运行蓝牙代码
  6. 3使用 HFP 演示应用程序进行服务器设置
  7. 4演示应用程序上的客户端设置
  8. 5示例:带商用耳机的音频网关
  9. 6应用程序命令
    1. 6.1  通用访问配置文件命令
    2. 6.2  帮助 (DisplayHelp)
    3. 6.3  查询
    4. 6.4  配对
    5. 6.5  结束配对
    6. 6.6  PIN 码响应
    7. 6.7  通行密钥响应
    8. 6.8  用户确认响应
    9. 6.9  设置可发现性模式
    10. 6.10 设置可连接性模式
    11. 6.11 设置可配对性模式
    12. 6.12 更改简易配对参数
    13. 6.13 获取本地地址
    14. 6.14 设置本地名称
    15. 6.15 获取本地名称
    16. 6.16 设置设备类别
    17. 6.17 获取设备类别
    18. 6.18 获取远程名称
  10. 7免提配置文件命令
    1. 7.1  服务发现
    2. 7.2  打开音频网关客户端
    3. 7.3  管理音频
    4. 7.4  更新控制指示器
    5. 7.5  呼叫等待
    6. 7.6  设置语音识别激活
    7. 7.7  设置扬声器增益
    8. 7.8  设置麦克风增益
    9. 7.9  禁用远程声音增强
    10. 7.10 发送来电显示通知
    11. 7.11 设置振铃指示
    12. 7.12 振铃指示
    13. 7.13 发送来电状态
    14. 7.14 关闭 AG 客户端
    15. 7.15 发送运营商信息
    16. 7.16 发送用户号码
    17. 7.17 发送呼叫列表
  11. 8参考文献
  12. 9修订历史记录

配对

说明

Pair 命令负责启动与远程蓝牙设备的绑定。此函数在成功执行时返回零,而在出现任何错误时返回负值。在尝试配对之前,必须存在蓝牙协议栈 ID,并且该设备不能事先连接到任何设备(包括该设备尝试配对的设备)。还需要注意的是,要连接到远程设备,必须在调用 Pair 命令之前使用 Inquiry 命令。通用和专用绑定均受支持。

参数

Pair 命令需要一个或两个具有特定值的参数才能成功运行。第一个参数是远程蓝牙设备的查询索引。此参数始终是必需的。该值可以在查询后找到,或者在使用命令 DisplayInquiryList 时显示。如果所需的远程设备未出现在列表中,则无法与该设备配对。第二个参数是用于配对过程的绑定类型。这是一个可选参数,仅在连接需要通用绑定时才需要此参数。必须将值指定为 0(表示专用绑定)或 1(表示通用绑定)。如果仅提供一个参数,则绑定类型为专用绑定。

命令调用示例

  • “Pair 5 0”尝试使用专用绑定与第五个查询索引处的远程设备进行配对。
  • “Pair 5”尝试执行与上述示例完全相同的操作。如果没有参数,则绑定类型为专用。
  • “Pair 8 1”尝试使用通用绑定与第八个查询索引处的远程设备进行配对。

可能的返回值

  • (0) 配对成功
  • (-2) BTPS_ERROR_INVALID_BLUETOOTH_STACK_ID
  • (-1) BTPS_ERROR_INVALID_PARAMETER
  • (-59) BTPS_ERROR_ADDING_CALLBACK_INFORMATION
  • (-8) BTPS_ERROR_DEVICE_HCI_ERROR

API 调用

GAP_Initiate_Bonding(BluetoothStackID, InquiryResultList[(TempParam->Params[0].intParam – 1)], BondingType, GAP_Event_Callback, (unsigned long)0);

API 说明

提供此函数是为了能够启动绑定过程。此函数可以根据请求的绑定类型执行通用绑定和专用绑定。该函数将以下内容作为输入:执行绑定的本地蓝牙设备的蓝牙协议栈 ID、要绑定的设备的远程蓝牙地址、要执行的绑定类型,以及用于处理此函数成功时将产生的身份验证事件的 GAP 事件回调信息。如果该函数成功,则会通过注册的 GAP 事件回调返回所有进一步的信息。如果此函数成功返回结果,并不意味着远程设备已成功与本地设备绑定,仅意味着远程设备绑定过程已启动。仅当与指定远程蓝牙设备的物理连接尚不存在时,此函数才会成功。此函数将连接到蓝牙设备并开始绑定过程。如果指定了通用绑定,则会维持链路,并且在调用 GAP_End_Bonding 函数之前不会终止链路。这将允许执行在同一物理链路上需要的任何更高级别的初始化。如果执行了专用绑定,则在身份验证过程完成后,链路会自动终止。由于此过程的异步性质,指定的 GAP 事件回调将向调用方通知身份验证过程中出现的任何事件和/或数据。GAP_Cancel_Bonding 函数可随时由 Pair 命令调用以结束绑定过程并终止链路(无论执行的是哪种绑定方法)。使用通用绑定时,如果通过此函数启动的蓝牙链路建立了 L2CAP 连接,则在发出 L2CAPDisconnect 请求(或响应)时,蓝牙协议栈可能会也可能不会终止物理链路。如果发生这种情况,则调用 GAP_End_Bonding 函数将不起作用(在这种情况下,GAP_End_Bonding 函数将返回错误代码)。