3997|0

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

串口通信WriteFile总是返回错误代码6? [复制链接]

      
      大家好!
      本人初学者,碰到个问题,想向各位请教...
      串口通信WriteFile总是返回错误代码6...
      之前我已经在网上查了很多东西了.还是未能找到解决办法...
      
这个是我打开COM设备的代码..调试过了,绝对是成功打开了的..
m_hCom = CreateFile(_T("COM2:"), //Port,
                        GENERIC_READ | GENERIC_WRITE,
                        0,
                        0,
                        OPEN_EXISTING,
                        0,
                        0);                         //打开串口
    ASSERT(m_hCom != INVALID_HANDLE_VALUE);
    if (m_hCom == INVALID_HANDLE_VALUE)             //判断打开是否成功
    {
        COM_ErrorDisplay(_T("OpenPortFailed!"), 0);        
        return(FALSE);
    }

然后我依次设置了
GetCommState(m_hCom, &m_ComDCB);                //读取串口的参数信息
    m_ComDCB.BaudRate   = BaudRate;                 //修改波特率
    m_ComDCB.ByteSize   = DataBits;                 //数据位
    m_ComDCB.StopBits   = StopBits;                 //停止位
    m_ComDCB.Parity     = Parity;                   //奇偶校验
//     m_ComDCB.fParity    = FALSE;                    //禁止奇偶校验
    m_ComDCB.fBinary    = TRUE;                     //必须设置为TRUE,使能为二进制传输模式

对于DCB只设置了这些,其他的没管..


下面是修改时间参数
GetCommTimeouts(m_hCom, &m_ComTimeOuts);        //获取串口时间参数信息
    /* 修改时间参数 */
    m_ComTimeOuts.ReadIntervalTimeout = 100;        //
    m_ComTimeOuts.ReadTotalTimeoutMultiplier = 1;   //
    m_ComTimeOuts.ReadTotalTimeoutConstant = 100;   //
    m_ComTimeOuts.WriteTotalTimeoutMultiplier = 0;  //
    m_ComTimeOuts.WriteTotalTimeoutConstant = 0;    //

然后我调用
ret = WriteFile(m_hCom, _T("a"), 1, &dw_len, NULL); 写数据..

写完之后,我用一个MessageBox把发送了的数据个数和GetLastError显示出来..
总是显示 发送了1  GetLastError返回的是6 ..我知道这个错误代码说是无效的句柄..

但是我的句柄确确实实是有的哦..
到底哪里出问题了你?
请各位高手帮帮忙..
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表