초보이다 보니 자꾸 문의 드리게 됩니다.
ATMEL과 ANDROID폰과 블루투스 통신을 하는데 SDK 예제 파일 Bluetooth Chat을 가지고
수정 작업하고 있습니다.
ATMEL에서 텍스트를 "<S>DATA<E>" 패킷 형태로 데이터의 시작과 내용, 끝을 구분해서 데이터를 보내고 있는데요.
예제파일로 실행하면 아래와 같이 줄이 넘어가기나 데이터가 손실되어 보입니다.
Sendor : <S>DA
Sendor : T
Sendor : A<E>
아래 소스에서 데이터의 끝부분<E>을 체크할때까지 buffer에 데이터를 담아뒀다가
<E> String이 오면 buffer에 담아있는 데이터를 한번에 보낼수 있도록 고치는것 방법을 몰라 문의 드립니다.
public void run() {
Log.i(TAG, "BEGIN mConnectedThread");
byte[] buffer = new byte[1024];
int bytes;
while (true) {
try {
bytes = mmInStream.read(buffer);
if (bytes > 0){
mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1, buffer).sendToTarget();
}
} catch (IOException e) {
Log.e(TAG, "disconnected", e);
connectionLost();
break;
}
}
}
도움 부탁드리겠습니다.(__)