통신 > 232 통신의 기초 - 1

TODAY1,136 TOTAL2,933,422
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


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

등록된 댓글이 없습니다.

통신HOME > 통신 > 전체 목록

게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기