我的项目涉及一个 Nucleo-64+X-NUCLEO-BNRG2A1 通过蓝牙与 Android
手机通信。
我成功地将数据从服务器 (BNRG2A1) 发送到客户端(Android 手机),但我不知道如何从客户端到服务器执行相同的操作。
在 Android 下,我可以将数据写入特性(在 NO RESPONSE 模式下),但我不明白如何在服务器端处理写操作。
我的特征声明如下:
ret = aci_gatt_add_char(HWServW2STHandle,
UUID_TYPE_128,
&char_uuid,
2+2+4,CHAR_PROP_NO
tiFY|CHAR_PROP_READ|CHAR_PROP_WRITE_WITHOUT_RESP,
ATTR_PERMISSION_NONE,GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP|GATT_NOTIFY_ATTRIBUTE_WRITE,
16,
1、
&EnvironmentalCharHandle);
服务器端应该发生什么?我尝试实现 aci_gatt_write_permit_req_event()、aci_att_exec_write_resp_event() 和 aci_gatt_indication_event(),但从未调用过它们。此外,在写入数据客户端 -> 服务器时,控制台中不会显示任何内容(具有完整的调试信息)。