首页 > 解决方案 > nRF52840 忽略某些 setWriteCallback() 调用

问题描述

所以我刚开始试验 Adafruit Feather nRF52840 板,并在板和另一个设备之间建立了一个有效的 BLE 连接。

通常,通过从其他设备向 nRF52840 发送数据,一切正常,但有时,如果我同时发送 2 个数据包,setWriteCallback只会注册其中一个。

有没有办法解决这个问题?

这就是我在代码中设置回调的方式:

void charact_write_callback(uint16_t conn_hdl, BLECharacteristic* chr, uint8_t *data, uint16_t len)
{
    if(data[0] == 2){
        Serial.print(data[1] == 0 ? "Left" : "Right");
        Serial.println(" Hand Touch occured");
    }
}

当双手实际触摸并向设备发送数据时,此回调仅接收一个。

提前致谢和问候

标签: bluetooth-lowenergyadafruitfeather

解决方案


推荐阅读