메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

묻고 답하기
조회 수 7,828 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?
  • WhiteAT 2011.05.21 21:07

    문자가 8바이트씩 들어오지는 않을 겁니다.;;

    항상 달라질수 있습니다. int nRcvSize 변수값에 수신된 바이트 수가 있으니 확인하실수 있을 겁니다.~~

     

    예를 들어 24바이트를 받아야 하는데, 8바이트씩 3번 받을수도 있고, 7+7+7+3 바이트로 받을 수도 있습니다.

    이런 이유는 수신쓰레드가 무한히 돌면서 수신된 값이 있을 때마다 메세지를 날리는데,

    메세지 날아오는 간격이 일정치 않아서 그런겁니다.;;

    쓰레드에 대해 아시면 쉽게 이해하실텐데.. 일단 이것은 모르셔도 됩니다;;;;

     

    해결방법은

    전역 변수로 문자열을 만들고 그 문자열에 수신데이터를 계속 쌓으면 됩니다.

    그리고 수신된 데이터를 분석하고, 필요 없으면 버리고, 유요한 데이터면 사용하면 됩니다.

     

    예를 들어, "ABCDEF", "GH1234" , "5678" 로 3번 값이 들어오던

                       "ABCD", "EFGH12", 345678" 로 값이 오던,  

         "ABCDEFGH12345678" 라는 데이터가 들어오게 됩니다.

    일단 이런식으로 데이터를 받으면 놓치는 데이터는 없을 겁니다.

     

     

    2번 같은 경우는,

    STX, ETX, CRC 를 추가하여 하나의 패킷구조로 통신해야 가능합니다.

    먼저 수신된 데이터가  유효한지를 검사해야 원하는 위치의 데이터를 얻을 수 있습니다.

     

     

List of Articles
번호 분류 제목 날짜
161 일반 122 X 32 Dot 그래픽 LCD에 한글표시 1 2015.04.05
160 전기,전자,펌웨어 12V led 켜기 1 2016.03.14
159 프로그래밍 3축가속도센서이용한 칼로리 1 2015.03.19
158 전기,전자,펌웨어 비밀글 입니다. 3 secret 2011.05.14
157 전기,전자,펌웨어 비밀글 입니다. 1 secret 2011.07.11
156 전기,전자,펌웨어 5mm LED 연결 1 2016.04.20
155 프로그래밍 5명의 키를 읽어 들여 가장 큰 키와 작은 키를 구하는 프로그램을 작성하시오 1 2013.06.20
154 프로그래밍 asd 2013.04.13
153 전기,전자,펌웨어 ATmega 질문 1 2021.04.18
152 일반 atmega128 ws2812b 제어 1 2015.07.29
151 일반 ATmega128에 대해서 질문좀 드릴게요... 1 2013.05.16
150 프로그래밍 ATmega8 인터럽트 다시 한번 여쭤보겠습니다 ㅠㅠ 1 2015.01.07
149 프로그래밍 ATmega8을 이용한 인터럽트 도움부탁드립니다. 1 2015.01.06
148 프로그래밍 ATmega8을 이용한 인터럽트 좀 도와주세요 ㅠㅠ 1 2015.01.06
147 전기,전자,펌웨어 AVR ATmega 128로 인터럽트를 이용한 LED를 점멸하는 방법 좀 알려주세요. 3 2013.04.25
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11