(Arduino) 시리얼 연속 통신, 다중 명령어 처리 예제 코드
1회성 명령 처리는 널리 알려진 방법으로 간단하게 코딩하면 되지만 데이터 로깅, 그래프 표현을 목적으로 데이터를 수신할 때는 통신 도중에 데이터가 사라지면 안 된다. 수신 버퍼는 제한적이고 수신 데이터는 연속으로 들어오는데, 정상 데이터의 일부만 가지고 처리하면 이어서 수신되는 데이터는 놓치게 된다. (예를 들어 수신 버퍼가 100Byte이고 정상 데이터가 30Byte라면, 3번의 정상 데이터가 버퍼에 들어 오고, 4번째 데이터는 10B만 들어오게 된다. 그 다음 수신이벤트가 동작하고 버퍼가 비워지면 새 버퍼에 나머지 20B가 들어온다. 이미 이전의 10B를 잘 보관해 놓았고, 이후의 20B와 합치면 30Byte라는 정상 데이터가 된다) 즉, 버퍼관리만 잘 하면 끊김없이 줄줄이 수신할 수 있다. 소스 /..