UNIX 직렬 포트에는 큰 출력 버퍼가 있습니다. 쓰기 호출은 버퍼에 공간이있는 한 즉시 반환됩니다. 충분한 공간이 없으면 버퍼 쓰기는 버퍼가 약간 낮은 레벨로 비울 때까지 대기합니다.Windows 7의 직렬 포트 출력 버퍼 크기
Windows 7 SP1에서 기본 제공되는 16550 직렬 포트는 출력 버퍼가없는 것처럼 동작합니다. 데이터가 포트에서 출력 될 때까지 쓰기 블록이되는 것 같습니다. 버퍼가있는 경우 장치 관리자 (COM1의 고급 설정)에 설정된 16 바이트보다 작습니다. SetupComm 함수를 사용하면 입출력 버퍼의 권장 크기를 지정할 수 있습니다. 그러나 출력 버퍼 크기는 어떤 동작도 변경하지 않는 것 같으며 GetCommProperties은 항상 dwCurrentTxQueue 필드를 0으로 설정합니다. SetupComm이 할 수있는 유일한 일은 입력 버퍼의 크기를 늘리는 것입니다.
기계에 직렬 포트가 장시간 장착되지 않았습니다. 이 포트가 실제 포트입니까 아니면 실제로 에뮬레이터입니까? 장치 관리자에서 드라이버를 확인하십시오. –
예, PC 마더 보드의 실제 직렬 포트입니다. 이것이 내가 "16550 직렬 포트 내장"이라는 것을 의미합니다. 16550은 내장 포트가 일반적으로 호환되는 UART 칩 유형입니다. – dreamlayers