当前位置: 代码迷 >> WinCE >> 串口打开成功,但用WriteFile()发送却发不出来,也不报错?解决思路
  详细解决方案

串口打开成功,但用WriteFile()发送却发不出来,也不报错?解决思路

热度:78   发布时间:2016-04-28 13:14:25.0
串口打开成功,但用WriteFile()发送却发不出来,也不报错????
在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支持吗?
------解决方案--------------------
楼主试试看能不能读到数据,还有就是确定物理上有没有发送成功,楼主是怎么鉴定的?判断物理数据的话一般需要查看波形图的才可以肯定的。