急急!!关于串口通信 我在串口通信的设计中,使用ReadFile的语句后就没有响应拉!不知这是什么情况 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在阻塞方式下调用ReadFile就是这个样子,除非接收到数据,不然不会返回。还要是否是ReadFile中要读入的字节数设得太大了,一直读不满,可以使用只读一个字节来测试。还可以通过设置超时、使用实际方式等读串口。 你用的是同步操作吧,读不到数据当然不会返回你可以用ClearCommError测试有多少个字节到,再读就行了! 你可以改变一下readfile的第三和第四个参数,然后用qsfsea(痛并快乐着)的方法测试一下有没有通信错误,看看具体的通信错误类型 // 把间隔超时设为最大,把总超时设为0将导致ReadFile立即返回并完成操作 TimeOuts.ReadIntervalTimeout = MAXDWORD; TimeOuts.ReadTotalTimeoutMultiplier = 0; TimeOuts.ReadTotalTimeoutConstant = 0; /* 设置写超时以指定WriteComm成员函数中的 GetOverlappedResult函数的等待时间*/ TimeOuts.WriteTotalTimeoutMultiplier = 50; TimeOuts.WriteTotalTimeoutConstant = 2000; SetCommTimeouts(m_hCom, &TimeOuts); 请问timeout是什么类型,还有把这个设置放在那里? Signal(SIGALRM, sigfunc),恢复默认信号处理的意义是什么? 菜鸟问题,关于ATL的. 关于total copy技术 关于取得MSFlexGrid和MSHFlexGrid中的数据 请老手指教VC网络编程学习。。 关于string类的问题 怎么能得到和写入文件摘要。 极困难的结构的大小之问! 创建100个事件对象,是不是有点多? *** 请问如何把BC4.5编译得到的.lib和.dll 用在Win32程序中? *** 请Searph兄和edyang兄都来看看 关于串口通信的问题 知道在 dll工程中可以创建CDocument类吗
还可以通过设置超时、使用实际方式等读串口。
你可以用ClearCommError测试有多少个字节到,再读就行了!
TimeOuts.ReadIntervalTimeout = MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier = 0;
TimeOuts.ReadTotalTimeoutConstant = 0;
/* 设置写超时以指定WriteComm成员函数中的
GetOverlappedResult函数的等待时间*/
TimeOuts.WriteTotalTimeoutMultiplier = 50;
TimeOuts.WriteTotalTimeoutConstant = 2000;
SetCommTimeouts(m_hCom, &TimeOuts);