串口无法接收数据问题请教

[复制链接]
2164|7
 楼主| 拿起书本 发表于 2013-6-9 17:04 | 显示全部楼层 |阅读模式
写了一个串口程序,接收部分没有问题,有串口调试助手,用我写的程序发送数据,串口调试助手接收没有数据,是不是的写数据部分有问题啊,求指教
BOOL CYBcommDlg::WriteData()
{
        DWORD dwBytesWritten=100;
//        DWORD dwErrorFlags;
//        COMSTAT ComStat;
        OVERLAPPED m_osWrite;
        BOOL bWriteStat;
        UpdateData(TRUE);
    char *buffer=m_writedata.GetBuffer(0);
        bWriteStat=WriteFile(hCom,buffer,dwBytesWritten,
                &dwBytesWritten,&m_osWrite);
        if(!bWriteStat)
        {
                if(GetLastError()==ERROR_IO_PENDING)
                {
                        WaitForSingleObject(m_osWrite.hEvent,1000);
                        return dwBytesWritten;
                }
                return 0;
        }
return dwBytesWritten;

}
jamsan 发表于 2013-6-9 20:30 | 显示全部楼层
加上一句FlushFileBuffers (hCom );试试。
huangfeng33 发表于 2013-6-10 15:18 | 显示全部楼层
overlap 要初始化。
诸如设置 hEvent 等等
zeluo 发表于 2013-6-10 19:52 | 显示全部楼层
寄存器的设置有漏掉的   这一个问题   个人觉得   自己这一块也要加强
zeluo 发表于 2013-6-10 19:53 | 显示全部楼层
问题应该解决了吧   楼主   帮你顶一个
tianli1980 发表于 2013-6-11 15:11 | 显示全部楼层
1: 检查了你的 *buffer数据是否正确呢?
2: 用调试助手发你的m_writedata中的数据,是否有返回呢?如果数据错误,对方不一定有返回
trumpxp 发表于 2013-6-11 20:04 | 显示全部楼层
楼主   这一块了解的不多   帮你顶一个
zhangmangui 发表于 2013-6-13 09:19 | 显示全部楼层
帮忙顶  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部