
dio_tcsetattr 함수를 사용하여 UART 통신을 설정할 때 속도 설정은 속도, 비트 수, 파라미터를 지정해야 합니다.
속도는 9600bps의 경우 9600으로 설정합니다. 비트 수는 8로 설정합니다. 파라미터는 다음과 같이 설정합니다.
- c_cflag: 데이터 비트 수를 CS8로 설정합니다.
- cfsetispeed: 입력 속도를 B9600으로 설정합니다.
- cfsetospeed: 출력 속도를 B9600으로 설정합니다.
cfsetispeed와 cfsetospeed 함수의 차이점은 입력 속도와 출력 속도를 설정하는 것입니다. cfsetispeed 함수는 입력 속도를 설정하고, cfsetospeed 함수는 출력 속도를 설정합니다.
속도 설정이 제대로 되지 않는 경우 tcsetattr 함수의 두 번째 인자로 사용하는 TCSANOW의 의미는 즉시 설정을 적용하는 것입니다. 다른 옵션은 다음과 같습니다.
- TCSANOW: 즉시 설정을 적용합니다.
- TCSADRAIN: 데이터 전송이 완료된 후 설정을 적용합니다.
- TCSAFLUSH: 데이터 전송이 완료된 후 설정을 적용하고, 데이터를 버립니다.
예를 들어, TCSANOW를 사용하면 즉시 설정을 적용하고, TCSADRAIN을 사용하면 데이터 전송이 완료된 후 설정을 적용합니다.
2025-07-14 03:53