2016-09-13 69 views
0

我正在開發基於藍牙的應用程序,當我嘗試將數據從iPhone發送到其他設備時遇到問題。通過藍牙同時發送幾個值

我沒有問題,當我必須只發送一個值,使用這樣的事情:

- (void)sendData:(NSInteger)mel { 
    NSData *myData = [NSData dataWithBytes:&mel length:sizeof(mel)]; 
    [self.myDevice writeValue:myData forCharacteristic:self.myCharacteristic type:CBCharacteristicWriteWithoutResponse]; 
} 

但是,對於一些特點,我需要在同一時間發送2個或多個值(例如,在此情況下,可變梅爾和另一個),但我還沒有能夠做到這一點。

有人知道如何做到這一點嗎?提前致謝。

更新1

我試圖發送兩個值是

unsigned char bytes[] = {mel, interval}; 
NSMutableData *myData = [NSMutableData new]; 
[myData appendBytes:&bytes length:sizeof(bytes)]; 
[self.myDevice writeValue:myData forCharacteristic:self.myCharacteristic type:CBCharacteristicWriteWithoutResponse]; 

但是,這就像如果第二個值不存在

+0

用你試過的東西更新你的問題,並解釋你有什麼問題。 – rmaddy

+0

@rmaddy我更新了我試過的問題 –

回答

0

不能使用sizeof(bytes)來獲取數組中的字節數。它只是返回4,因爲它的大小爲char *

一種選擇是使用sizeof(mel) + sizeof(interval)而不是sizeof(bytes)