蓝牙分包发送数据 在包前面加上包头

   日期:2020-05-22     浏览:154    评论:0    
核心提示:int BLE_SEND_MAX_LEN = 256; for (int i = 0; i < [msgData length]; i += BLE_SEND_MAX_LEN) { // 预加 最大包长度,如果依然小于总数据长度,可以取最大包数据大小 if ((i + BLE_SEND_MAX_LEN) < [msgData length]) { NSString *rangeStr = [NSString stringWithFo
int BLE_SEND_MAX_LEN = 256;
    for (int i = 0; i < [msgData length]; i += BLE_SEND_MAX_LEN) {
        // 预加 最大包长度,如果依然小于总数据长度,可以取最大包数据大小
        if ((i + BLE_SEND_MAX_LEN) < [msgData length]) {
            NSString *rangeStr = [NSString stringWithFormat:@"%i,%i", i, BLE_SEND_MAX_LEN];
            NSData *content = [msgData subdataWithRange:NSRangeFromString(rangeStr)];

            
            Byte byteData[2] = {};
            int right,left;
             
            byteData[0] =(Byte)(right = (i/256 +1) & 0x00ff); // 取低8位 221 0xDD
                
            byteData[1] =(Byte)(left = (i/256 + 1) >> 8); //取高8位 223 0xDF
                
            Byte byte[] = {0x01,0x81,0x01,byteData[0],byteData[1]};
            
            
            
            NSData *temphead = [[NSData alloc]initWithBytes:byte length:5];
            
            //拼接content
            NSMutableData *m_data = [[NSMutableData alloc] init];
            [m_data appendData:temphead];
            [m_data appendData:content];
            
            uint8_t *sendByte = [m_data bytes];
            [self send_data:sendByte length:sizeof(sendByte)];
            
           // NSLog(@"%@",m_data);
           // [self.currPeripheral writeValue:subData forCharacteristic:self.
           // characteristic type:CBCharacteristicWriteWithResponse];
            //根据接收模块的处理能力做相应延时
            usleep(20 * 1000);
        } else {
            NSString *rangeStr = [NSString stringWithFormat:@"%i,%i", i, (int)([msgData length] - i)];
            NSData *subData = [msgData subdataWithRange:NSRangeFromString(rangeStr)];
            [self.currPeripheral writeValue:subData forCharacteristic:self.
            characteristic type:CBCharacteristicWriteWithResponse];
            usleep(20 * 1000);
        }
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服