一.打開Profile文件夾,右擊battservice.c選擇刪除或排除編譯,Profile/Include文件夾下右擊battservice.h選擇刪除或排除編譯,
二.刪除后點擊編譯,編譯后會報錯,根據報錯將BATT相關的函數屏蔽,
屏蔽代碼如下:
Batt_GetParameter(BATT_PARAM_SERVICE_HANDLE,
&GATT_INCLUDED_HANDLE(hidAttrTbl, HID_INCLUDED_SERVICE_IDX));
Batt_GetParameter(BATT_PARAM_BATT_LEVEL_IN_REPORT, &(hidRptMap[2]));
Batt_Register(hidDevBattCB);
Batt_AddService();
// Setup Battery Characteristic Values { uint8_t critical = DEFAULT_BATT_CRITICAL_LEVEL; Batt_SetParameter(BATT_PARAM_CRITICAL_LEVEL, sizeof(uint8_t), &critical); }
Batt_MeasLevel();
Batt_HandleConnStatusCB(gapConnHandle, LINKDB_STATUS_UPDATE_REMOVED);
這些刪除或者屏蔽之后就不會報錯了,
三.Profile文件夾中hidconsumerservice.c中hidAttrTbl需刪除:
// Included service (battery) { {ATT_BT_UUID_SIZE, includeUUID}, GATT_PERMIT_READ, 0, (uint8_t *)&include},
// Feature Report declaration { {ATT_BT_UUID_SIZE, characterUUID}, GATT_PERMIT_READ, 0, &hidReportFeatureProps}, // Feature Report { {ATT_BT_UUID_SIZE, hidReportUUID}, GATT_PERMIT_ENCRYPT_READ | GATT_PERMIT_ENCRYPT_WRITE, 0, &hidReportFeature}, // HID Report Reference characteristic descriptor, feature { {ATT_BT_UUID_SIZE, reportRefUUID}, GATT_PERMIT_READ, 0, hidReportRefFeature},
HID_INCLUDED_SERVICE_IDX HID_FEATURE_IDX, // Feature Report HID_REPORT_REF_FEATURE_IDX
// Feature report hidRptMap[1].id = hidReportRefFeature[0]; hidRptMap[1].type = hidReportRefFeature[1]; hidRptMap[1].handle = hidAttrTbl[HID_FEATURE_IDX].handle; hidRptMap[1].cccdHandle = 0; hidRptMap[1].mode = HID_PROTOCOL_MODE_REPORT;
四.廣播包:
// service UUIDs 0x03, // length of this data GAP_ADTYPE_16BIT_MORE, LO_UINT16(HID_SERV_UUID), HI_UINT16(HID_SERV_UUID), // LO_UINT16(BATT_SERV_UUID), // HI_UINT16(BATT_SERV_UUID),
五.燒錄測試:

浙公網安備 33010602011771號