Win32 C에서 COM 포트 수신 버퍼의 내용을 플러시 (덤프)하는 API 호출이 있습니까? 전송 버퍼를 플러시하는 함수 만 찾을 수있었습니다.플러시 통신 처리 버퍼 수신?
3
A
답변
7
`PurgeComm()' 중 하나 또는 둘 모두 송신 및 수신 버퍼에서 모든 문자를 삭제하고, 포트에 대한 작업을 모든 판독 대기 중 중단 및/또는 작성할 수있다 (그것은 기본적으로 삭제). 포트에 모든 것을 할 말 같은 것을 : 당신은 또한 당신이 처리했는지 확인 또는 명시 적으로 아마 ClearCommError()
으로뿐만 아니라 포트에서 대기중인 오류를 무시하게 할 수 있습니다
PurgeComm(hPort, PURGE_RXABORT|PURGE_TXABORT|PURGE_RXCLEAR|PURGE_TXCLEAR)
.
ReadFile()
은 사용 가능한 모든 바이트를 낭비 버퍼로 읽음으로써 Rx 버퍼와 FIFO 만 비울 수 있습니다. 해당 버퍼의 크기를 올바르게 지정하려면 "부 자연스러운"지식이 필요하거나 더 이상 말할 때까지 ReadFile()
호출을 반복해야합니다.
그러나 플러시하기 위해 버퍼를 읽는 경우 COMMTIMEOUTS이 "합리적으로"설정되어 있거나 버퍼가 채워질 때까지 읽기가 차단되는 경우에만 의미가 있습니다.
0
FlushFileBuffers 동 기적으로 전송 버퍼
데이터의 전송을 강제로 단지 COM 포트에 대한 핸들에 ReadFile을 호출 수신 버퍼 COM 포트에서 데이터를 가져 오기 위해, 이해가되지 않습니다 수신 버퍼를 플러시PurgeComm는 송수신하지 않고 버퍼를 비운다
관련 문제
- 1. 소켓 수신 버퍼 크기
- 2. 원시 소켓 수신 버퍼
- 3. C# 또는 .NET 플러시 키보드 버퍼
- 4. SQL 관리 Studio 메시지 버퍼 플러시
- 5. C# 응용 프로그램에서 WCF 수신 요청 통신
- 6. tcp/ip 소켓 용 수신 버퍼 크기
- 7. C# 소켓 수신 버퍼 크기 비용
- 8. C# 직렬 통신 - 수신 된 데이터가 손실되었습니다.
- 9. xmpp : 수신 메시지 비동기 처리
- 10. '앨리어스 처리 된'스트림 버퍼 란 무엇입니까?
- 11. rs232 포트에서 얻은 버퍼 데이터 처리
- 12. Clyther/OpenCL에서 65536보다 큰 버퍼 처리
- 13. subprocess.Popen 및 버퍼 처리 된 프로세스 출력
- 14. 후위/postqueue 플러시 - 플러시 MX 레코드
- 15. tcp/ip 통신 발신자 수신자가 다른 처리 속도 문제
- 16. NHibernate에서 플러시
- 17. ob_flush(), 플러시()
- 18. 윈도우에서 수신 된 인터럽트 처리 시간
- 19. PHP에서 GET 요청 수신 및 처리
- 20. 프로토콜 버퍼 메시지가 완전히 수신 된 것을 탐지하는 방법은 무엇입니까?
- 21. FILE 파일을 닫을 때 플러시
- 22. C에서 버퍼 길이 및 버퍼 오버플로 보내기
- 23. 실행 중 Zend MVC 플러시
- 24. 플러시 boost :: iostreams :: zlib_compressor. "동기화 플러시"를 얻는 방법?
- 25. Commit()을 호출하지 않고 RecordControl에서 플러시
- 26. NHibernate 플러시 - 어떻게 작동합니까?
- 27. dbus : 플러시 연결?
- 28. DrScheme에서 stdout을 플러시 하시겠습니까?
- 29. 플러시 PHP는 어떤 종류의
- 30. 성 ActiveRecord로 플러시
네,하지만 당신이 COMMTIMEOUTS에 의존하는 읽기 파일을 사용한다면, 이것들이 저의 응용 프로그램을 느리게 만듭니다. 내가 읽고 싶지 않은 버퍼에 남아있는 쓰레기가 있습니다. 읽기 파일을 사용하는 경우 읽기 대기가 발생하거나 지속적으로 COMMTIMEOUTS를 변경해야합니다. –
문맥에서 플러시와 덤프라는 용어는 버퍼를 실제로 무효화하거나 퍼지하지 않는 것을 의미합니다. 특히 버퍼를 무효로하지 않고 전송을 보장하는 전송 버퍼와 관련하여 플러시를 사용한 경우를 고려하면 –