개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.06 14:17

dio_tcsetattr 함수 사용 방법에 대해 질문합니다.

목록
  • PHP장인 오래 전 2025.06.06 14:17 인기
  • 681
    1
저는 dio_tcsetattr 함수를 사용하여 serial 통신을 하려는데, 속도 설정에 어려움을 겪고 있습니다. 속도 설정을 할 때 baudrate 값을 설정하는 방법이 정확히 어떤지 궁금합니다.

예를 들어, 9600bps 속도에서 serial 통신을 하려면 어떻게 설정해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    dio_tcsetattr 함수는 tcsetattr 함수를 사용하여 속도 설정을 합니다. tcsetattr 함수의 속도 설정은 다음과 같이 합니다.

    - B115200: 115200bps
    - B57600: 57600bps
    - B38400: 38400bps
    - B19200: 19200bps
    - B9600: 9600bps
    - B4800: 4800bps
    - B2400: 2400bps
    - B1800: 1800bps
    - B1200: 1200bps
    - B300: 300bps
    - B0: 비동기 통신

    예를 들어, 9600bps 속도에서 serial 통신을 하려면 dio_tcsetattr 함수에 B9600 값을 설정하면 됩니다.

    #hostingforum.kr
    c
    
    struct termios tio;
    
    tcgetattr(fd, &tio);
    
    cfsetispeed(&tio, B9600);
    
    cfsetospeed(&tio, B9600);
    
    tcsetattr(fd, TCSANOW, &tio);
    
    


    위 코드는 serial 통신을 위한 속도 설정을 하는 코드입니다. fd는 serial 포트를 열 때 반환되는 파일 디스크립터입니다. B9600은 9600bps 속도를 의미합니다. TCSANOW는 즉시 속도 설정을 의미합니다.

    2025-06-06 14:18

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,487건 / 49 페이지

검색

게시물 검색