• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > VisualC++60编写串行通信程序中用到MSComm控件的一个问题

VisualC++60编写串行通信程序中用到MSComm控件的一个问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了visualc++6.0下载,microsoftvisualc++,visualc++6.0,visualc++,visualc++6.0官方下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Visual C++60编写串行通信程序中用到MSComm控件的一个问题
描述:

在程序中,我用的是MSComm控件,其中一个主要属性如下:SetSettings    设置并返回波特率,奇偶校验,数据位长度,停止位长度。如:SetSettings(LPCTSTR String);String是一个包括四部分的字符串:的一部分为波特率;第二部分为奇偶校验,N表示不校验,E表示偶校验,O表示奇校验,S表示空格校验,M表示符号校验;  第三部分为数据长度,其可选值为4,5,6,7,8;第四部分为停止位长度,其可选为1,1.5,2。 Settings属性的缺省值为“9600,N,8,1”。
   在程序中,我用的是组件框来显示波特率,校验,数据长度,停止位,但是在运行时却老是提示数据值出错,在我的程序中,nBaudRate是用的 int,nParity用的是CString类型,nByteSize,nStopBits也是用的int类型,问题出在了SetSetting("nBaudRate,nParity,nByteSize,nStopBits"),(因为在程序中波特率,校验,数据长度,停止位要求可以选择),请各位高手指点,在SetSetting()中该任何设置这些参数!!!! 程序中格式如下:
         short nComPort=1;
int nBaudRate=9600;
int nByteSize=8;
int nStopBits=1;
CString nParity= "n";
int nIndex,nCount;
CString szText("");
      
         //波特率
nIndex = m_comboBaudRate.GetCurSel();
nCount = m_comboBaudRate.GetCount();
if((nIndex != LB_ERR) && (nCount > 1))
{
m_comboBaudRate.GetLBText(nIndex, szText);
if(!szText.IsEmpty())
{
nBaudRate = ::atoi(szText);
}
else
{
nBaudRate = 9600;
}
}
。。。。。。。。。。。。。。。。。。。。。。
        if(m_ctrlComm.GetPortOpen())
       m_ctrlComm.SetPortOpen(FALSE);
      m_ctrlComm.SetCommPort(nComPort); 
      if( !m_ctrlComm.GetPortOpen())
      m_ctrlComm.SetPortOpen(TRUE);
          else
          AfxMessageBox("cannot open serial port");
     
     m_ctrlComm.SetSettings("nBaudRate,nParity,nByteSize,nStopBits"); *************
 m_ctrlComm.SetInputMode(1);
     m_ctrlComm.SetRThreshold(1); 
     
     m_ctrlComm.SetInputLen(0); 
     m_ctrlComm.GetInput();


解决方案1:

CString str;
str.Format("%d,%s,%d,%d",nBaudRate,nParity,nByteSize,nStopBits);
SetSetting(str);

解决方案2:

我的意思就是把nBaudRate + nParity + nByteSize + nStopBits在一起后转换为LPCTSTR,
直接作为SetSetting的参数
你试试


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一点资源文件夹怎么说include找不到?文件有呀visualc++60
  • VisualC++60开发三层数据库软件
  • 用visualC++NET做的简单DCOM服务EXE,客户端调用参数值无法改变
  • 请问高手关于visualc++2003的问题。
  • 那位大哥有MicrosoftVisualC++NET技术内幕第6版配套光盘啊?
  • [求助]VisualC++components问题
  • VisualC++调用activemovie的问题
  • VisualC++的图标编辑功能怎样摘出来?
  • 求《VisualC++实践与提高——ActiveX篇》
  • VisualC++2005中MSComm的用法

相关文章

  • 2017-06-05 DLL中如何返回CStringArray
  • 2017-06-04 50分求助,在线等,做COM组件到底需要什么版本的matlab
  • 2017-06-04 Activex控件的子线程新开窗口的问题
  • 2017-06-05 hook问题,急,在线等
  • 2017-06-05 关于ActiveX控件的安全标记
  • 2017-06-05 mfc中使用teechart控件如何用代码实现将某序列数据导出excel
  • 2017-06-05 将自己程序的窗体注入到其他程序中。纯API实现
  • 2017-06-04 vrml网络插件问题
  • 2017-06-04 郁闷好几天了,关于:如何隐藏office文件打印时,"正在打印"对话框请高手帮忙!!!!!!!!!!!!!!
  • 2017-06-05 http客户端post

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请高手指点!
    • 调用Sleep时发生奇怪问题
    • ocx控件未能注册输出
    • 请问创建线程函数CreateThread的参数如何传递
    • !!COM组件BUG!!请写过组件的进来看看
    • vcdll与asp交互问题
    • 我戳,OCX注册碰上鬼了~
    • ActiveX中,GDI+初始化问题
    • VS2005开发ocx的初级问题?
    • 复杂问题,期待你的朴素答案

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有