Welcome to My World (www.dgmayor.com)

소프트웨어/개인 프로젝트

14. 시리얼 포트 큰 에러해결

dgmayor 2022. 4. 28. 16:58
728x90

 

 

여태까지 문자열이 apple이라면 a, p, p, l, e 식으로 떨어져 들어오는 경향이 있었다. 이를 해결하기 위해서 커버를 씌우거나, 버퍼를 두거나, 원천적인 디바이스 드라이버를 개발하거나... 하려 하였으나....

결국은 len의 길이를 임의로 조정함으로서 2 글자 이상은 저장이 되게끔 하였다.

 

 

-----> 그런데, 뭐 이렇게 하면 백단에서 받는 값을 조정하면 에러를 해결 할 수는 있으나.... 그래도 뭔가 찜찜하여 더 파보았다. 스캐너 회사에서 제공하는 드라이버부터 설치 하든가, c언어로 드라이버를 만들던가 하여야 하였으나, 겨우 겨우 간신히 스캐너 회사의 드라이버를 다운로드에 성공..... 용량도 많고.... 회선이 안 좋은지 유틸 다운 받는데 3일 걸렸다.

스캐너 회사 드라이버로 비프음과, \n 등의 문자열을 붙일 수 있는 것을 확인....

rxtx 통신과는 관련이 없다...

 

그 결과


StringBuffer temp = new StringBuffer();
int cnt = 0;

try {
while ((len = in.read(buffer)) > -1) {

if (len >= 1) {

String A_log = new String(buffer, 0, len);

Reader.ta.append(A_log);
Reader.ta.setLineWrap(true);
Reader.ta.setCaretPosition(Reader.ta.getDocument().getLength());

temp.append(A_log);

if (temp.indexOf("&") != -1) {
String B_log = "";

try {
cnt = temp.toString().indexOf("&");
B_log = temp.toString().substring(0, cnt);

 

등의 함수로 해결을 할 수 있다는 것을 깨닫게 되었다.

어찌 되었든.... 딱 에러 없이 시킨 건 기한 안에 완료를 하였으나....

아무도 알아 주는 사람이 없고.... 욕만 먹는다.

728x90