同步读串口,ReadFile 返回TRUE,读取的字节数却是0 ----- 解决办法是设置超时值

设置超时值

SetCommTimeouts(HANDLE hCom,  LPCOMMTIMEOUTS lpTimeouts ) 
  1.   
  2.   HANDLE hComm = CreateFile(...)
  3.   //After CreateFile and before ReadFile
  4.   //Set Timeout value. 
  5.   COMMTIMEOUTS  timeout;
  6.   Port.GetTimeouts(timeout);
  7.   timeout.ReadIntervalTimeout = MAXDWORD;
  8.   timeout.ReadTotalTimeoutConstant = 1000; //ms.  the total timeout = Multiplier * nBytesToRead + constant
  9.   timeout.ReadTotalTimeoutMultiplier = 1000; // ms
  10.   SetCommTimeouts(hComm, &timeouts)
  11.  
  12.   ReadFile(...)

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值