一.打开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号
浙公网安备 33010602011771号