您好!
我正在进行 BLE hid 远程创建并连接到 Android 手机、目前我想使用 hid_emu_KDB 示例项目来实现我的案例。
但我有几个问题需要搜索答案。 我的遥控器上有10个按钮和1个 LED、供我使用。
例如、board_key.h 文件包含一些关键驱动程序、如下所示。
#define KEY_SELECT 0x0001 #define KEY_UP 0x0002 #define KEY_DOWN 0x0004 #define KEY_LEFT 0x0008 #define KEY_RIGHT 0x0010
如果我需要定义10个密钥、如何编写代码? 是这样吗?
#define KEY_1 0x0001 #define KEY_2 0x0002 #define KEY_3 0x0004 #define KEY_4 0x0008 #define KEY_5 0x0010 #define KEY_6 0x0020 #define KEY_7 0x0040 #define KEY_8 0x0080 #define KEY_9 0x0100 #define KEY_10 0x0200
但键9和键10无法正常工作。
2.我在 Android 中使用 BLE 扫描仪应用、我可以找到所有服务和特征、但当我触发按钮或希望写入数据以点亮 LED 时、我无法读取/写入 HID 输入或输出报告中的值。
我也无法读取 HID 地图或其他报告、如果我尝试读取它、连接将崩溃并断开。 为什么?
3.例如,它是否真正实现了输出服务? 因为我发现 hidmukbd.c 文件中有一个 receiveReport 函数、但它没有执行任何操作。 程序在哪里点亮了 LED?
4.我在遥控器上有10个按钮,但我知道 HID 描述符只能发送8字节缓冲区,所以最后2个按钮我需要创建另一个函数来发送这些报告?
很抱歉、我不是很熟悉 HID、它有很多可学习的知识、请帮助我解决问题、非常感谢。