반응형
[C#] serialport.readexisting() 데이터가 잘려 들어올 때(readline,BytesToRead,Truncated Data,received data is truncated)
하루 반나절을 삽질 했다.
분명히 ReadExisting메소드를 써서 버퍼를 비우고 버퍼안의 바이트가 0되는 것도 확인했고
bytesToRead를 써서 들어오는 데이터가 32bytes인 것도 확인이 되었고,
혹시나해서 데이터 길이도 확인했는데
텍스트박스에 계속 잘린데이터가 나오는 것이 아닌가.
들어오는 아스키값을 보니 저렇게 역슬러시가 중간에 떡하니 있는게 냄새가 났다.
데이터 중간에 hex값 0x00 이 들어가서 ascii Null 값이 들어가니 Null뒤는 모두 생략돼버린다.
들어오는 데이터도 정상이었고, 데이터를 처리하는 것도 모두 정상인데
단지 화면에 뿌려주는 string값만 잘려서 나오는 것이었음.
화면에 아스키값을 뿌리고 싶으면 공백 ' ' 을 자기방식(?)대로 표시해주면 될 것 같음.
hex값으로는 정상적으로 그냥 잘 나옴.
Fin.
잘 못 된 정보가 있으면 말씀해주세요~
1초도 걸리지 않는 공감버튼 클릭은 작성자에게 큰 힘이 됩니다.
반응형