ich Daten vom Gerät (BLE) erhielt: < 840100ec d5045715 00.010.014 00.240.018 00>Wie NSData konvertieren struct genau
aber die zweiten Byte nicht genau konvertieren. Wie diese:
Aber ich kann es Uint8 Array verwenden tun, warum? Vielen Dank.
Code wie diese:
// I got the data:<840100ec d5045715 00010014 00240018 00>
case SPK_FEEDBACK_HistoryDataPort:
// Log
NSLog(@"receive data:%@", [NSData dataWithBytes:originalCommandBytes length:sizeof(D2MHistoryDataPort)]);
// originalCommandBytes dataType:UInt8 *
D2MHistoryDataPort *historyData = (D2MHistoryDataPort *)originalCommandBytes;
// Log
NSLog(@"收到硬件返回的0x%x指令(历史数据体): 历史数据包的索引:%d; 时间戳:%d; 步数:%d; 卡路里:%d; 距离:%d; 睡眠:%d; 运动时长:%d",
historyData->cmd,
historyData->index,
(unsigned int)historyData->timeStamp,
historyData->steps,
historyData->calories,
historyData->distance,
historyData->sleep,
historyData->duration);
break;
// I declare this struct in another class
typedef struct {
UInt8 cmd;
UInt16 index;
UInt32 timeStamp;
UInt16 steps;// 步数
UInt16 calories;// 卡路里
UInt16 distance;// 距离,单位m
UInt16 sleep;// 睡眠
UInt16 duration;// 运动时长,单位minute
} D2MHistoryDataPort;
Es ist nicht klar, was Sie fragen. Können Sie den Code anzeigen, auf den Sie die NsData zugreifen? – Paulw11
Vielen Dank für Ihre Freebeck, ich hatte den Code aktualisieren :) –
Es ist immer noch nicht klar, was Ihr Problem ist. Was ist der erwartete Output und wie unterscheidet er sich von dem, was Sie haben? – Paulw11