2013-07-31 2 views
2

Windows 8에서 프로그램을 실행하는 데 문제가 있습니다. ReadFile을 사용하여 RS232 직렬 포트에서 데이터를 검색합니다.ReadFile Rs232 너무 느림

가 매우 빠르거나 immediatly 선행 OS에있는 동안 내 코드는 아무 문제없이 7 승 Windows XP에서 OS에 많은 년부터 노력하고 있습니다,하지만 지금은 ReadFile을의 opertion가 94이 100ms 사이에 항상했다

:

I 이 1ms를 강제로 내 시간 제한을 수정하려고 가지고 있지만 항상 같은 결과입니다 :

GetCommTimeouts(Handle, &cto); 
cto.ReadIntervalTimeout=MAXDWORD; 
cto.ReadTotalTimeoutMultiplier=0; 
cto.ReadTotalTimeoutConstant=0; 
cto.WriteTotalTimeoutMultiplier=0; 
cto.WriteTotalTimeoutConstant=0; 
if(SetCommTimeouts(Handle, &cto) == 0) 

// And the read function : 
rOL.Offset = 0; 
rOL.OffsetHigh = 0; 
if (ReadFile(Handle, &byte, 1, &i, &rOL) == TRUE) 

나는 게시물의 많은 모든 MSDN을 읽은 후 어떤 해결책을 찾을 수 없습니다!

+2

는 USB 에뮬레이터와 함께 제공되는 것들은 항상 골칫거리입니다. 특히 최신 운영 체제에서. 드라이버 업데이트를 얻을 수 없다면 에뮬레이터를 버리고 다른 제조업체의 다른 드라이버를 가져 오면됩니다. –

+0

답장을 보내 주셔서 감사합니다. 공급 업체 웹 사이트 (http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41)의 최신 버전으로 드라이버를 이미 업데이트했습니다. 일반 허브 USB 드라이버의 전원 관리하지만 여전히 문제가 발생했습니다! 나는 다른 어댑터를 시도 할 것이다. – Maypeur

답변

1

내 문제를 발견하고 수정합니다. Hans Passant 덕분에 올바른 방법을 나타냅니다!

그래서 난으로 다운 그레이드 :

은 그래서 드라이버 문제입니다, 큰 문제는 최신 다작의 드라이버가 윈도우 업데이트에서 Windows 8 및 7 가능한 위해 특별히 만들어 catalog.update.microsoft.com이 버그가 있다는 것입니다 2010/12/03 버전이며 이제는 완벽하게 작동합니다.

나는 프로 시저를 만들어이 우편에서 작업 드라이버를 찾을 수 있습니다

http://www.soft-control.com/media/exe_soft/sav/ProlificDowngrade.3.11.zip

나는 그것이이 문제에 관하여 다른 사람을 도움이되기를 바랍니다!