打印

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

[复制链接]
1712|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 | 只看该作者
寄存器的设置有漏掉的   这一个问题   个人觉得   自己这一块也要加强

使用特权

评论回复
5
zeluo| | 2013-6-10 19:53 | 只看该作者
问题应该解决了吧   楼主   帮你顶一个

使用特权

评论回复
6
tianli1980| | 2013-6-11 15:11 | 只看该作者
1: 检查了你的 *buffer数据是否正确呢?
2: 用调试助手发你的m_writedata中的数据,是否有返回呢?如果数据错误,对方不一定有返回

使用特权

评论回复
7
trumpxp| | 2013-6-11 20:04 | 只看该作者
楼主   这一块了解的不多   帮你顶一个

使用特权

评论回复
8
zhangmangui| | 2013-6-13 09:19 | 只看该作者
帮忙顶  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

519

主题

4195

帖子

31

粉丝