3488|2

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince420串口打开成功,获取参数失败 [复制链接]

代码如下
  1. if (m_hComm != INVALID_HANDLE_VALUE)        //已经打开,直接返回
  2.         {
  3.                 return TRUE;
  4.         }
  5.        
  6.         m_hComm = CreateFile(_T("COM1:"), //以同步读取方式打开串口COM1
  7.                 GENERIC_READ || GENERIC_WRITE, //允许读
  8.                 0, //独占方式
  9.                 NULL,
  10.                 OPEN_EXISTING, //打开而不是创建
  11.                 0,
  12.                 NULL);

  13.         if (m_hComm == INVALID_HANDLE_VALUE)        // 无效句柄,返回。
  14.         {               
  15.                 return FALSE;
  16.         }
  17.        
  18.         //配置串口,得到打开串口的当前属性参数,修改后再重新设置串口。
  19.         DCB portDCB;
  20.         portDCB.DCBlength=sizeof(DCB); //DCB结构大小
  21.        
  22.         Sleep(1000);
  23.         if(FALSE == GetCommState(m_hComm,&portDCB))//默认串口参数
  24.         {       
  25.                 DWORD mmmm= GetLastError();
  26.                 return FALSE;
  27.         }
复制代码


CreateFile的时候成功,
GetCommState的时候就失败,
返回为0,GetLastError为1;
我使用的是2410的板子,添加了三串口驱动,禁用了调试串口,三个串口都是一样的情况!
此帖出自WindowsCE论坛

最新回复

恩,谢谢 问题解决了   详情 回复 发表于 2008-4-22 17:03
点赞 关注
 

回复
举报

95

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
m_hComm = CreateFile(_T("COM1:"), //以同步读取方式打开串口COM1
        GENERIC_READ || GENERIC_WRITE, //允许读
        0, //独占方式
        NULL,
        OPEN_EXISTING, //打开而不是创建
        0,
        NULL);
注意你的上面程序中的第二行,“GENERIC_READ || GENERIC_WRITE”,这是或,
而此处的参数应该是按位或,所以,去掉一个竖线就ok了。
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
恩,谢谢
问题解决了
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表