首页 > 其他分享 >BLE_HID类设备连接上主机后发数据返回错误码解决方法

BLE_HID类设备连接上主机后发数据返回错误码解决方法

时间:2023-10-13 13:33:24浏览次数:40  
标签:GATTServApp 错误码 0x0001 HID WriteCharCfg hidEmuConnHandle BLE define

继上文HID设备的使用,BLE_HID例程增加报表描述符使用

我们在BLE_HID类蓝牙设备应用中调用HidDev_Report函数发送数据,如果出现了返回以下错误码时,应该是HID数据通道未能完全成功打开,我们可以在代码中添加处理以手动辅助开启,

#define bleInvalidTaskID                INVALID_TASK  //!< Task ID isn't setup properly
#define bleEecKeyRequestRejected        0x06   //!< key missing
#define bleNotReady                     0x10   //!< Not ready to perform task
#define bleAlreadyInRequestedMode       0x11   //!< Already performing that task
#define bleIncorrectMode                0x12   //!< Not setup properly to perform that task
#define bleMemAllocError                0x13   //!< Memory allocation error occurred
#define bleNotConnected                 0x14   //!< Can't perform function when not in a connection
#define bleNoResources                  0x15   //!< There are no resource available
#define blePending                      0x16   //!< Waiting
#define bleTimeout                      0x17   //!< Timed out performing function
#define bleInvalidRange                 0x18   //!< A parameter is out of range
#define bleLinkEncrypted                0x19   //!< The link is already encrypted
#define bleProcedureComplete            0x1A   //!< The Procedure is completed
#define bleInvalidMtuSize               0x1B   //!< SDU size is larger than peer MTU.

增加代码:

extern uint16_t hidEmuConnHandle;
void OpenHotiChannel()
{
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportBootKeyInClientCharCfg,0x0001);
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportHIDxInClientCharCfg,0x0001);
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportkeybitInClientCharCfg,0x0001);
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportkeyConsumeInClientCharCfg,0x0001);
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportBootKeyInClientCharCfg,0x0001);
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportmouseInClientCharCfg,0x0001);
    GATTServApp_WriteCharCfg(hidEmuConnHandle,hidReportkeysysInClientCharCfg,0x0001);
}

 

标签:GATTServApp,错误码,0x0001,HID,WriteCharCfg,hidEmuConnHandle,BLE,define
From: https://www.cnblogs.com/azou/p/17761886.html

相关文章

  • BOSHIDA DC电源模块低温是否影响转换效率
    BOSHIDADC电源模块低温是否影响转换效率DC电源模块是一种常用的电源转换装置,其主要作用是将输入的电源信号变换成需要的输出电源信号。在实际应用中,DC电源模块的性能会受到多种因素的影响,其中低温也是一个重要的影响因素。本文将从转换效率的角度,探讨低温对DC电源模块的影响。......
  • BLE_HID例程增加报表描述符使用
    我们一般hid类设备都是键鼠设备居多,在此还是以CH582的Hid_keyboard程序为例,修改其中的hidkeyboardservice.c文件,增加了:16bit全键盘、多媒体键(如音量+,音量-,静音等)、系统控制键(电脑休眠、电脑关机),由于蓝牙在部分电脑中休眠期间蓝牙驱动是关闭的,因此无法通过蓝牙唤醒电脑,鼠标数......
  • [iOS开发教程-1]Hello UITableView!
    http://www.iphonedevcentral.com/hello-uitableview/ HelloUITableView!Ok,let’sstartwithsomethingreallysimple.We’llbecreatinganapptokeeptrackofyourDVDlibrary. Theappwillhaveatableview,adetailviewandsomebasicnavigationalcompo......
  • 一行代码解决a-table当中rowKey报错的问题
    问题描述:在a-table中如果不绑定rowKey则会在控制台报错 解决办法:如果列表中没有返回唯一值,则可以这么写:rowKey='record=>record.id'或者:rowKey="(record,index)=>{returnindex}"> ......
  • element-ui 解决 table 里包含表单验证
    实际项目中的场景,需要在table里做表单的验证,如图效果: 其实问题关键就在于如何给el-form-item动态绑定prop      :prop="'tableData.'+scope.$index+'.字段名'"   ......
  • 虚拟器启动 SMBus Host controller not enabled
    虚拟器启动提示:SMBusHostcontrollernotenabled虚拟机启动老提示这个,正常进入不影响使用:SMBusHostcontrollernotenabled查一下这个模块看看lsmod|greppiix4禁用这个模块sudovim/etc/modprobe.d/blacklist.conf编辑这个文件,最后一行加:blacklisti2c_piix......
  • centos 用docker 安装ansible UI管理工具awx
     环境说明:centos7.9ansible2.9.27dockerversion  24.0.6pythonversion3.6.8awxversion 11.2.0 AWX简介AWX提供了一个基于web的用户界面、RESTAPI和构建在Ansible之上的任务引擎。图形化的AWX能够更方便的编排和部署AnsiblePlaybook,并提供集中的日志记......
  • BOSHIDA DC电源模块工作效率的特点
    BOSHIDADC电源模块工作效率的特点DC电源模块是一种常见的电源供应装置,它在广泛应用于各种电子设备中。它是一种直流电源,通常用于提供低压、高电流的电源,如电子器件、LED灯、无线路由器、计算机硬件等。DC电源模块的工作效率是其中一个非常重要的特点,下面我们来详细介绍一下。......
  • vue cli2 3 4使用lib-flexible px2rem完美解决移动端适配问题
    安装lib-flexible$npminstalllib-flexible--savelib-fiexble,lib-flexible会自动在html的head中添加一个metaname="viewport"的标签,同时会自动设置html的font-size为屏幕宽度除以10,也就是1rem等于html根节点的font-size。假如设计稿的宽度是750px,此时1rem应该等于75px。......
  • 【MySQL】alter table TableName engine=InnoDB 完成表重建
    通过altertable来实现重建表原文地址:https://zhuanlan.zhihu.com/p/610997918mysql基础架构执行原理原文地址:https://blog.csdn.net/Kong_a/article/details/119775660MDL锁介绍原文地址:https://blog.csdn.net/weixin_43189971/article/details/126436023 1、应用背景在日......