0

Bluetoothデバイスに「a」から「o」までの値を書き込む必要があります。デバイスはSPPを使用しており、私はすでにを介して接続していIOBluetoothRFCOMMChannelます。のような機能がありますがwriteSync:lenght:、どのように使用すればよいですか?私が言ったように、私は「a」から「o」に値を送る必要があります

私は試した:

[rfcommChannel writeSync:"a" length:1];

しかし、それは機能していません。

Appleには、次のサンプルコードがあります。

[rfcommChannel writeSync:"ATZ\n" length:4];

しかし、「ATZ」が何を意味するのかわかりません。

4

1 に答える 1

0

答えが見つかりました:

- (void) sendData:(NSString *)string toChannel:(IOBluetoothRFCOMMChannel*)rfcommChannel
{
    int i;
    // Turn the string into data.
    NSData *data = [string dataUsingEncoding:NSASCIIStringEncoding];
    char buffer[ [data length] +4];
    char *bytes = (char *) [data bytes];
    // Add a CRLF to the start
    buffer[0] = 13;
    buffer[1] = 10;
    // Copy the data into the buffer.
    for (i=0;i<[data length];i++)
    {
        buffer[2+i] = bytes[i];
    }
    // Append a CRLF
    buffer[ [data length]+2]  = 13;
    buffer[ [data length]+3]  = 10;
    // Synchronously write the data to the channel.
    [rfcommChannel writeSync:&buffer length:[data length]+4];
}

私の特定のケースの場合:

[self sendData:@"a" toChannel:self.rfcommChannel];
于 2012-12-12T15:19:18.000 に答える