티스토리 뷰
이제 UART를 통해서, 문자형 데이터가 아닌 실제 데이터, 즉, 바이너리 데이터를 송수신하는 프로그램을 만들어 보겠다.
데이터 통신을 하기 위해서는 AVR의 UART 프로그램을 다음과 같이 수정해 주어야 한다.
수정된 UART에 맞게 실제 데이터를 내 보내는 부분도 수정해 주어야 한다.
ATAVRSBIN1의 세개의 센서 중에서 compass 데이터만 1초에 한번씩 내 보내는 코드를 만들어서 PC 프로그램이 데이터를 제대로 수신하는지 알아보도록 하겠다.
17번째 줄에서 보는것처럼 uart_tx() 함수를 이용하여 Compass에서 읽어 온 데이터를 문자로 변환하지 않고 바이너리 데이터로 바로 내 보내는것을 알수 있다.
PC프로그램도 이제는 문자가 아닌 바이너리 데이터가 수신되므로 이에 맞추어 수정해 주어야 한다.
AVR에서 보내준 바이너리 데이터를 제대로 수신하여 처리 하였음을 알 수 있다.
그러나, 위의 그림에서 알 수 있는것처럼 데이터가 연속해서 들어오면 어디가 시작이고 어디가 끝인지 알 수가 어렵다. 결국 데이터 시작지점과 끝지점을 알려주어 패킷처럼 동작되도록 만들어야 한다.
이렇게 하는 방법은 다음 글에서 알아보도록 하겠다.
'심화' 카테고리의 다른 글
패킷 통신 - CRC (2) | 2016.08.11 |
---|---|
패킷 통신 - Start/Stop flag (7) | 2016.08.10 |
패킷 통신 - PC 프로그램 (0) | 2016.08.03 |
패킷 통신 - 회로 구성 (0) | 2016.07.30 |
패킷 통신 - Serial Packet Communication (0) | 2016.07.30 |
댓글