본문으로 바로가기
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 시리얼 통신 브레이크(break) 신호 전송 방법

C언어 시리얼 통신 브레이크(break) 신호 전송 방법

· 댓글 2 · 바다야크

C tcsendbreak() 시리얼 통신 break 신호 전송 함수

시리얼 통신에서 브레이크(break) 신호를 보내려면 tcsendbreak() 함수를 사용하면 됩니다. 상대 쪽에서 break 신호를 주었을 때 수신 버퍼에 0x00이 있어서 0x00을 보내면 break 신호가 전송되는 줄 아는 분이 계시더군요. 이미지나 동영상처럼 바이너리 파일을 전송할 경우 0x00이 있을 수 있는데, 그때마다 break 신호가 발생해서는 안 되겠지요.

  • 헤더 : termios.h
  • 형태:  int tcsendbreak(int fd, int duration)
  • 인수: int fd 시리얼 포트와 연결된 파일 디스크립트
    int duration 전송 시간
  • 반환: 0 == 성공, -1 == 실패 및 errno에 에러코드 대입

int duration  전송 시간은 0일 경우 0.25초에서 0.5초 이내로 0 값의 비트를 전송합니다. 0이 아닌 경우는 정의된 시간만큼 전송한다고 하는데, 자세한 내용은 찾지 못했습니다.

C tcsendbreak() 예제

#include <termios.h>

fd = open( dev_name, O_RDWR | O_NOCTTY );
       
       :
             
tcsendbreak( fd, 0);
💬 댓글 2
logo

C언어 정말로 오랜만이네요 좋은정보 잘보고 갑니다~^^

logo

말씀 고맙습니다. 즐거운 하루 되세요. ^^

이름을 저장합니다.

최근글 thumbnail 구글 원 VPN 핸드폰 보안 강화 thumbnail 쿠팡앱 광고 알림 끄기 (2) thumbnail 넥밴드 블루투스 헤드폰 S21 해외직구 사용후기 thumbnail 유튜브 내가 쓴 댓글 확인 삭제 방법 thumbnail 구글 크롬 주소창 검색 엔진 추가 방법 thumbnail 전자책 리더기 블루투스 리모컨 해외직구 추천 (1) thumbnail 스타일브이 환불 요청 방법 (3) thumbnail 갤럭시 핸드폰과 윈도우 컴퓨터 연결 방법
랜섬웨어로 고생 많으셨겠어⋯ 💬바다야크 윈도우가 업그레이드될 수록⋯ 💬바다야크 아이쿵. 저 이거 계속 써야하⋯ 💬swan 랜섬웨어 걸려서 데이타고 머⋯ 💬swan 일부러 숨겨 놓은 것인지 찾⋯ 💬바다야크