第一部分:HCI协议(六)HCI command错误处理

六、command错误处理

一般来说,command对应event中任何参数提示error,那么就表示这个command没有被执行。

当一个command发生错误时:

(1)如果正常情况下这个command只返回HCI_Command_Complete event,则event的status参数会设置对应的错误码;这种情况下command没有被执行;

(2)如果正常情况下这个command返回HCI_Command_Status event和一个由command指定的completion event,有两种可能情况:

A、HCI_Command_Status event返回的参数中status不等于0,这种情况下,对应的command不会执行,另外也不会有其他completion event返回。

B、HCI_Command_Status event返回的参数中status等于0,这种情况表示在command指定的completion event的status参数里面会设置错误码。

注意:

A、如果是上面第(1)种错误,HCI_Command_Complete event中的参数可能只返回一部分,其中status是必须会返回的第一个参数,用来表示错误的原因,如果后面紧跟着一个Handle或者一个BD_ADDR参数,那么这两个参数也应该被返回,用来帮助host确定这个HCI_Command_Complete event对应的是哪个command;

B、如果是上面的第(2)种错误的B情况,command指定的completion event中status是必须会返回的第一个参数,用来表示错误的原因,如果后面紧跟着一个Handle或者一个BD_ADDR参数,那么这两个参数也应该被返回,用来帮助host确定这个HCI_Command_Complete event对应的是哪个command,但是也有几种特殊情况如下图所示:

C、HCI_LE_Meta事件的Subevent_Code参数(参见7.7.65节)不作为参数处理,并且始终有效

D、HCI_Read_BD_ADDR command对应的HCI_Command_Complete event中的BD_ADDR不能用来确定HCI_Command_Complete event对应哪个command

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值