SDK 3.4.2.1 BLE single connection
b85m_module例子中的自定义,attribute里边的W回调函数
int module_onReceiveFile(void *para) {
rf_packet_att_write_t *p = (rf_packet_att_write_t*)para;
u8 len = p->l2capLen - 3;
u8 result = 0; if(len > 0) {
spp_event_t *pEvt = (spp_event_t *)p; pEvt->token = 0xFF;
pEvt->paramLen = p->l2capLen + 2; //l2cap_len + 2 byte (eventId)
pEvt->eventId = 0x07a0; //data received event
memcpy(pEvt->param, &p->opcode, len + 3);
spp_send_data(HCI_FLAG_EVENT_TLK_MODULE, pEvt);
blc_gatt_pushHandleValueNotify(BLS_CONN_HANDLE, UserTest_DATA_DP_H, (u8 *)&result, 1);
}
return 0;
}
问题:
spp_send_data(HCI_FLAG_EVENT_TLK_MODULE, pEvt);
blc_gatt_pushHandleValueNotify(BLS_CONN_HANDLE, UserTest_DATA_DP_H, (u8 *)&result, 1);
这两行代码都存在的时候,烧录程序后,其他设备就搜不到这个开发板的BLE,但是随便注释掉一行(注意是随便注释一行),再烧录,就又可以了
可能是什么原因?
你好,
可以尝试右键工程,清除之后重新编译试试,看起来没有问题,或者将发送放到后面的串口发送回调函数中。