加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – iOS蓝牙LE peripheralManager didReceiveWriteRequest

发布时间:2020-12-14 20:00:59 所属栏目:百科 来源:网络整理
导读:我需要一个函数didReceiveWriteRequests的示例实现,当中央iOS设备写入’writeValue:’时,它会在蓝牙iOS外设上运行. 但我搜索网络,找不到例子. Apple文档仍然没有示例代码. 解决方法 我搞定了.这是我的工作代码: // Processes write command received from
我需要一个函数didReceiveWriteRequests的示例实现,当中央iOS设备写入’writeValue:’时,它会在蓝牙iOS外设上运行.

但我搜索网络,找不到例子. Apple文档仍然没有示例代码.

解决方法

我搞定了.这是我的工作代码:

// Processes write command received from a central.
- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests
{

    CBATTRequest*       request = [requests  objectAtIndex: 0];
    NSData*             request_data = request.value;
    CBCharacteristic*   write_char = request.characteristic;
    //CBCentral*            write_central = request.central;
    //NSUInteger            multi_message_offset = request.offset;

    // Face commands this PWR RX to advertise serno UUID?
    int total_write_requests = 0;
    if([ write_char.UUID isEqual: [CBUUID UUIDWithString: YOUR_CHARACTERISTIC_UUID]] )
    {


        // Read desired new_state data from central:
        unsigned char* new_state = (unsigned char*)[request_data   bytes];
        my_new_state = new_state[0];
        #endif
        NSLog(@"        - advertise serno UUID: %s",my_new_state ? "TRUE" : "FALSE" );

        // Select UUID that includes serno of PWR RX,for advertisements:

        ++total_write_requests;
    }

    if( total_write_requests )
        [peripheral respondToRequest:request    withResult:CBATTErrorSuccess];  // result = success
    else
    {
        NSLog(@"_no_write_request_FAULT !!");
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读