
안녕하세요, 네트워크에 특히 약한.. 초보개발자입니다.
설명부터하고 문제를 얘기할게요~
왼쪽은 안드로이드 개발자 사이트에서 다운받을 수 있는 android-serialport-api 프로그램의 메뉴 중 콘솔액티비티화면이고 오른쪽은 터미널프로그램인 컴아날라이저입니다.
통신 환경은
PC 에서 컴아날라이저로 연결 (COM4) <> 테스트보드에 앞서말한 시리얼통신프로그램으로 연결 (ttySAC1번)
속도는 9600 에 나머지 옵션 값도 일치시켰구요.
문제는 이겁니다.
테스트보드에서 PC로는 텍스트 전송 시 정상적으로 전달이 되는 걸 확인했는데,
(컴아날라이저에 주황색바탕으로 표시되는 부분)
PC에서 테스트보드로 텍스트 전송 시 첫글자가 소실될 때가 있고 아닐때가 있어요...
아, 정확히 말하면 소실이 아니고 다시 돌려받은거죠..
(위에 보시면 중간중간에 주황색으로 한글자씩만 표시된 부분)
ex) PC에서 Hello 텍스트 입력 시 ~~~~~~~~ 테스트보드에서 확인해보면 ello 만 표시됨.
컴아날라이저에 보면 내가입력한 Hello 와 리턴받은 H 가 보임..
리시브 부분 소스를 보면 다음과 같습니다. 왜 이런 현상이 나오는 건지 ㅠ ㅠ ? 아시는 넷웍 박사님..~
@Override
protected void onDataReceived(final byte[] buffer, final int size) {
runOnUiThread(new Runnable() {
public void run() {
if (mReception != null) {
mReception.append(new String(buffer, 0, size));
}
}
});
}