串口打开成功,但用WriteFile()发送却发不出来,也不报错?解决思路
串口打开成功,但用WriteFile()发送却发不出来,也不报错????
在wince下,我调用CreatFile()成功打开了COM4,但调用WriteFile()发送时,里边的参数和返回值都表示发出去了,但物理上却没有数据出来,这是怎么回事儿,和驱动有关系吗??
------解决方案--------------------
和驱动和硬件都可能有关系吧。在串口驱动里面加些log看看。
------解决方案--------------------
在wince下,我调用CreatFile()成功打开了COM4,但调用WriteFile()发送时,里边的参数和返回值都表示发出去了,但物理上却没有数据出来,这是怎么回事儿,和驱动有关系吗??
------解决方案--------------------
和驱动和硬件都可能有关系吧。在串口驱动里面加些log看看。
------解决方案--------------------
- C/C++ code
GetCommTimeouts (m_hComm, &CommTimeouts); CommTimeouts.ReadIntervalTimeout = MAXDWORD; CommTimeouts.ReadTotalTimeoutMultiplier = 0; CommTimeouts.ReadTotalTimeoutConstant = 0; CommTimeouts.WriteTotalTimeoutMultiplier = 1; CommTimeouts.WriteTotalTimeoutConstant = 10; if (!SetCommTimeouts (m_hComm, &CommTimeouts)) { dwError = GetLastError (); return FALSE; }
------解决方案--------------------
底层驱动对COM4支持吗?
------解决方案--------------------
楼主试试看能不能读到数据,还有就是确定物理上有没有发送成功,楼主是怎么鉴定的?判断物理数据的话一般需要查看波形图的才可以肯定的。