`
文章列表
1.建立项目  2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件  5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 8.发送十六进制字符 9.在接收框中以十六进制显示 10 ...
1 MSComm介绍 在WINDOWS环境下,用户不能直接对PC的串行端口进行操作。Visual C++.NET中,通过使用微软公司提供的Microsoft Comm Control控件(简称MSComm),可以方便地实现PC与外部设备之间的串行通信,编程工作量相对较少。 2.Visual C++.N ...
一.想一进入程序,有默认的串口参数设置:   1.把参数值设定死 在OnInitDialog()函数里添加: if (m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(FALSE); m_ctrlComm.SetCommPort(1); // 选择com1 if (!m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(TRUE); // 打开串口 else AfxMessageBox("cannot open serial port"); m_ctrlComm. ...
从串口接收数据,显示在Edit Box里: void CMyDlg::OnOnCommMscomm1() {        // TODO: Add your control notification handler code here        VARIANT variant_inp;        COleSafeArray safearray_inp;        LONG len, k;        BYTE rxdata[2048];        CString strtemp;        if (m_ctrlComm.GetCommEvent() = ...
您要读的好书也绝非以下推荐的这些书哟,呵呵。 一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。 经典好书分类热销榜 ================================================================ 1、Jav ...
调用DLL有两种方法:静态调用和动态调用. (一).静态调用其步骤如下: 1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的目录下; 2.把你的youApp.lib拷到你目标工程(需调用youApp.DLL的工程)目录下; 3.把你的youApp.h(包含输出函数的定义)拷到你目标工程(需调用youApp.DLL的工程)目 录下; 4.打开你的目标工程选中工程,选择Visual C++的Project主菜单的Settings菜单; 5.执行第4步后,VC将会弹出一个对话框,在对话框的多页显示控件中选择Link页。然 后在Object/library modules ...
#pragma data_seg("flag_data")   int count=0;#pragma data_seg()#pragma comment(linker,"/SECTION:flag_data,RWS")这种方法只能在没有def文件时使用,如果通过def文件进行导出的话,那么设置就要在def文件内设置而不能在代码里设置了。SETCTIO ...
一、Qt版本 我现在用的是4.5.2。好像前段时间4.6出来了。。一直想找个轻量、好用、简单、快速的UI库。实话实说Qt也不是很满足我的要求,不过还是比较好用的,运行库打包10m左右,加壳压缩一下3~5m左右,也还是在接受范围之内。 二、Qt安装 下载的opensource的Qt安装包。 在win32平台下自带mingw,用gcc编译。可以配合Eclipse+CDT开发。。不过开发效率实在是。。唉。。。折腾了一段时间——放弃。 在linux平台下,有deb包下载的,好像。。我记得我是既从Ubuntn repos上down过,也自己手动下载安装过,但还是窘于IDE。唉,一说到 ...
解决方案与项目: 从VC6之后VC系列就使用解决方案(Solution)来替代原来的工作空间,用于组织和管理多个相关的项目(Project)。 文章首先演示一个虚拟的解决方案和我们期望得到的目录结构,然后使用VC2008的项目设置功能 ...
以下是很多VC爱好者的学习经历,希望对大家有所帮助: 我记得我在网上是这么说的:先学win32的SDK,也就是API, 再学MFC,这么一来呢,就先有个基础,MFC是API的封装, 如果API用的熟了,MFC上手就轻松的多了。 我觉得呢,现在不 ...
一.预处理宏 1. 通用宏 VC6.0中: Project Setting>C/C++>Preprocessor definitions VC2005中: 项目属性;配置属性;C/C++;预处理器定义 WIN32:指明是Window 32系统的编译器,一般用作平台识别。 _MBCS/_UNICODE:指明该工程使用的字符集(多字节字符集/UNICODE)。 在VC6.0的“Project Setting>C/C++>Project Options”处将会有/D "_MBCS"或/D &qu ...
1.static TCHAR szAppName[] = TEXT("MyProg"); 2.hIcon = LoadIcon(hInstance,szAppName); 原来的数值表示法是: hIcon = LoadIcon(hInstace,MAKEINTRESOURCE(IDI_ICON)); LoadIcon 的第一个参数是指出资源来自哪个文件的实例句柄,使用hInstance表示该资源文件来自程序自己的.EXE 文件。LoadIcon 的第二个参数实际上被定义为指向字符串的指针。 宏 MAKEINTRESOURCE(把整数改制成资源串)生成 ...
/INCREMENTAL 选项控制链接器如何处理增量链接。 默认情况下,链接器以增量模式运行。若要重写默认增量链接,请指定 /INCREMENTAL:NO。 增量链接的程序在功能上等效于非增量链接的程序。不过,因为它是为后面的增量链接而准备的,所以增量链接的可执行 (.exe) 文件或动态链接库 (DLL): 大于非增量链接的程序,因为有代码和数据的填充。(填充允许链接器增加函数和数据的大小而不用重新创建 .exe 文件。) 可以包含跳转 thunk 以处理函数重定位到新地址。 注意 为了确保最终发布版本不包含填充或 thunk,请非增量链接您的程序。 若要增量链接而不管默认值,请指 ...
学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:   unresolved external symbol “symbol”(不确定的外部“符号”) 如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个: 一是所引用 ...
Windows Common Controls Win32 API中本身提供了Windows下许多常用的控件,称为Common Controls。 这些控件与Button、ComboBox等控件不同,不是在user32.dll中实现,而是在Comctrl32.dll中实现,相关的C++原型声明在commctrl.h中。 所以,在使用Win32 API编写Windows窗口应用程序时,如果在界面上用到了Common Controls,则必须在链接选项中包含comctrl32.lib库,并在程序初始化时调用InitCommonControls()函数,确保控件被加载。InitCommonCont ...
Global site tag (gtag.js) - Google Analytics