티스토리 뷰

 

예제 설명

문자열을 한번에 수신 받아서 처리

SoftwareSerial.h 선언 후 Bluetooth에 사용 가능

아스키 통신용

 

 

조건

맨앞에 시작문자 * 문자를 붙인다.

맨뒤에 종료문자 $ 문자를 붙인다.

명령그룹 구분은 ; 문자를 붙인다.

예) *CDS:123;N2:234;XYZ:987$

 

 

설명

COM 클래스를 만들고 COM1로 객체 생성

 

마지막 줄바꿈 문자 수신시 수신된 문자열 전체를 COM1.HandleInput으로 넘김

(\r\n은 PC 통신에서 0x0D 0x0A를 뒤에 붙인 것과 같음)

 

기존 RcvBuff 내용과 새로 전달 받은 InBuff를 SumBuffer에 저장

 

SumBuffer에 *, $ 포함되있으면 그 사이에 있는 문자열을 tmpString에 저장

 

명령그룹 구분 ; 문자가 있으면 첫번째 명령그룹을 strSplitCMD 변수에 저장하고 나머지는 tmpString에 다시 저장한다.

 

첫번째 명령 그룹을 CALC()로 전달하여 처리한다.

 

명령그룹 구분 ; 문자가 없을 때까지 반복한다.

 

CALC() 에서는 문자열을 : 문자로 나눠 앞부분은 명령어, 뒷부분은 값으로 처리한다.

댓글
댓글쓰기 폼