VC界面编程入门:CMSCOMM控件与串口通信
本文档主要介绍了如何在VC++环境中进行界面编程,特别是使用CMSCOMM控件进行串口通信的初始化步骤,并概述了VC界面编程的基本元素和流程。首先,CMSCOMM控件是用于实现串行通信的ActiveX控件,在VC++中可以方便地集成到MFC应用程序中。以下是对标题和描述中提到的知识点的详细说明: 1. CMSCOMM控件初始化: - `m_MsComm1.SetCommPort(1);`:设置串口端口号为1,通常是COM1。 - `m_MsComm1.SetSettings("19200,n,8,1");`:设置波特率(19200),数据位(8),停止位(1),校验位(无)。 - `m_MsComm1.SetInputMode(1);`:设置输入模式为字符模式,其中1表示按字符接收。 - `m_MsComm1.SetRThreshold(36);`:设置接收阈值为36,当接收到36个字符时触发ON_RXCHAR事件。 - `m_MsComm1.SetInputLen(36);`:设置每次读取36字节的数据。 - `m_MsComm1.SetPortOpen(true);`:打开串口,允许与外部设备进行通信。 2. VC界面编程基础: - 工具条和菜单:在触摸屏环境下,工具条通常比菜单更适用。 - 控件:包括文本框、单选框、进度条、表格等,用于构建用户界面。 - 串口通信:如上所述,通过CMSCOMM控件实现。 - 窗口间信息交换:使用消息机制和成员变量传递数据。 - 模态/非模态对话框:模态对话框阻塞父窗口直到关闭,而非模态则可以同时与多个窗口交互。 - 文件处理:处理文件的打开、保存、读写等操作。 - 图形处理:绘制图形、图像等,可能涉及到GDI+库。 3. MFC程序结构: - CWinApp:应用程序类,负责程序的初始化和运行。 - CFrameWnd:框架窗口类,处理用户界面的命令。 - CDocument:文档类,存储和管理数据。 - CView:视图类,负责显示和编辑文档内容。 4. 创建MFC应用程序: - 基于对话框的应用程序:适合简单界面,仅包含CxxApp和CxxDlg两个类。 - 关于DLL的选项:SharedDLL生成较小的可执行文件,而静态链接的lib文件可以直接运行但体积较大。 5. 程序退出和窗口设置: - `DestroyWindow()`:关闭子窗口,可能导致程序退出。 - `EndDialog(IDOK)/EndDialog(IDCANCEL)`:用于结束模态对话框,分别对应“确定”和“取消”操作。 - `exit(0)`:正常退出程序。 - 在 OnInitDialog 函数中初始化窗口,如设置标题、大小、位置和图标。 6. 工具条的创建和初始化: - 在资源管理器中添加工具条资源。 - 定义工具条对象,并在初始化函数中创建和加载资源。 - 自定义工具条按钮,设置其图标和ID。 通过以上内容,读者可以了解到VC++界面编程的基本概念和实践技巧,尤其是使用CMSCOMM控件进行串口通信的初始化方法。在实际开发中,这些知识将帮助开发者构建功能丰富的桌面应用程序。
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://profile-avatar.csdnimg.cn/eb2331a8726c43fb884e9f6122b61697_weixin_42184548.jpg!1)
- 粉丝: 16
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)