핸드폰의 기울기값을 블루투스 기능을 이용해서 블루투스 모듈에 전송 후 ATmega128로 받은 데이터로

 

마이크로마우스를 제어하는 것을 만들고 있습니다.

 

일단 Suapapa님의 소스를 조금 인용해서 하고 있습니다

 

일단 어떤 데이터가 전송되는지 보기 위해 하이퍼터미널을 이용해서 전송 되는 데이터를 확인해 보고 있는데요

 

핸드폰이 수평인 상태에서는 #MHH로 전송이 되구요 (수평인 상태는 마이크로마우스가 정지인 상태)

 

그것을 바이너리 값으로 바꾸면  0x23 0x4D 0X48 0X48 로 이렇게 4개의 16진수가 전송이 됩니다.

 

그런데 저는 만약에 데이터가 정지상태일 때에는 0x00으로 한다든가 해서 좀 하나의 16진수로 보내고 싶은데요

 

제가 아직 실력이 부족해서 어떻게 해야할 지 모르겠습니다.

 

조언좀 부탁드립니다.

 

    public void toque(int left, int right) {
        // Create temporary object
        ConnectedThread r;
        // Synchronize a copy of the ConnectedThread
        synchronized (this) {
            if (mState != STATE_CONNECTED) return;
            r = mConnectedThread;
        }
        // Perform the write unsynchronized
        r.toque(left, right);

 

        public void toque(int left, int right) {
         try {
          String data = "#M";
          if (0 < left) data += 'F';
          else if (0 > left) {data += 'B'; left = -left;}
          else data +='H';
          
          if (0 < right) data += 'F';
          else if (0 > right) {data += 'B'; right = -right;}
          else data +='H';
          if (left != 0) data += (char)(left&0xff);
          if (right != 0) data += (char)(right&0xff);

          mmOutStream.write(data.getBytes());
         } catch (IOException e) {
                Log.e(TAG, "Exception during write", e);
            }
        }