2012-10-18 2 views
0

Monodroid를 사용하여 Bluetooth를 통해 장치에 명령을 보내는 데 흥미로운 문제가 있습니다.Monodroid의 BluetoothSocket을 통해 부호있는 바이트 배열 전달

는 I Monodroid이 방법을 사용하고 :

BluetoothSocket.OutputStream.Write (바이트 [완충액 오프셋 INT, INT 카운트);

  • 0x51
  • 0x26
  • 0x0으로
  • 0x0으로
  • 0x0으로
  • 0x0으로
  • 0xFFFFFFA3
  • 이 0x0 :

    나는 다음과 같은 8 바이트의 프레임을 보낼 필요

문제는 0xFFFFFFA3이 부호있는 바이트 (-93)이므로 Write 메서드에 전달할 배열을 만들 때 바이트가 아닌 C# .NET의 sbyte를 사용해야한다는 것입니다.

그러나 Write 메서드에 sbyte [] 배열을 전달할 수 없습니다. 바이트 배열에만 전달할 수 있습니다. C# .NET에서는 부호가 있기 때문에 바이트에 0xFFFFFFA3을 넣을 수 없습니다.

소켓을 통해 명령을 전달하려면 어떻게해야합니까? 고맙습니다.

답변

1

0xFFFFFFA3은 Int32의 크기이므로 컴파일러에서 불평하는 이유 일 수 있습니다. 0xA3의 바이트 값을 지정할 수 있어야합니다.