BASIC4MCU | 통신 | UART,232 | 232 통신의 기초 - 1
페이지 정보
작성자 키트 작성일2017-09-01 09:04 조회2,154회 댓글0건본문
통신에 사용되는 포멧은 여러가지가 있습니다.
그 중 기본적은 예는
시작바이트(STX)-----데이터--------엔딩바이트(ETX)
일단 데이터 내용에는 STX 와 ETX가 들어가지 않는다고 가정합니다.
데이터 내용에는 컴맨드/ 데이터/ 데이터Length/ Check Sum/ 등으로 구성 됩니다.
제일 중요한건 시작(STX)과 끝(ETX)입니다.
interrupt[USART0_RXC] void usart0_rx_isr(void){
char data;
data=UDR0;
if(data==STX){ // 시작바이트에서는 인덱스를 초기화 합니다.
index0=0;
rx_buf0[index0++]=data;
}
else if(data==ETX){
rx_buf0[index0]=data;
// Length검사 & Check Sum검사 등을 마친 후
// 컴맨드에 따른 내용을 처리 합니다.
index0=0;
}
else if(index0<RX_Max){ rx_buf0[index0++]=data; }
}
데이터 내용에는 STX 와 ETX가 들어가지 않게 하는 방법에도 여러가지가 있는데
모뎀이나 PLC경우에는 ASC 코드를 사용합니다.
산업용 제어보드 만드는 분들 중에는
니블단위로 짤라서 0x30을 더해서 0x30~0x3F 의 문자로 전송 하기도 합니다.
그 외에도 더 효율적인 기법이 있지만 설명이 복잡해지므로 패스~
댓글 0
조회수 2,154등록된 댓글이 없습니다.