6717|6

827

帖子

7

资源

版主

一学就会:用VC6.0编写自己的上位机 [复制链接]

 
本帖最后由 bqgup 于 2018-9-9 00:26 编辑

大家先看一下完成后的上位机,我只是写了一个比较简单的,后面复杂的还请各位大佬自己开发
图片24.png
1、首先下载这个软件,C语言编程软件,非常经典的软件。
图片1.png
没有软件的请自己找安装包下载,下载好软件之后,在你电脑上你喜欢的盘建一个文件夹用来盛放自己的上位机软件文件,我把文件夹建在了桌面上,命名为“bqgup上位机”。
2、打开软件,File->New->Projects->MFC AppWizard[exe]
图片2.png

图片3.png

图片4.png

图片5.png

图片6.png

图片7.png

3

图片8.png



图片9.png
点击上图的Insert Activex

图片10.png

图片11.png
4View->Class Wizard->
图片12.png



图片13.png

图片14.png



图片15.png


图片16.png

图片17.png

图片18.png

此时点击确定即可

图片19.png

图片20.png


图片21.png

图片22.png

图片23.png

然后往这两个函数中分别添加代码
OnInitDialog函数代码
  1. OnInitDialog函数代码[/align]BOOL CCcomDlg::OnInitDialog()
  2. {
  3.         CDialog::OnInitDialog();
  4.         //Add "About..." menu item to system menu.
  5.         //IDM_ABOUTBOX must be in the system command range.
  6.         ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
  7.         ASSERT(IDM_ABOUTBOX < 0xF000);
  8.         CMenu* pSysMenu = GetSystemMenu(FALSE);
  9.         if(pSysMenu != NULL)
  10.         {
  11.                 Cstring strAboutMenu;
  12.                 strAboutMenu.LoadString(IDS_ABOUTBOX);
  13.                 if(!strAboutMenu.IsEmpty())
  14.                 {
  15.                         pSysMenu->AppendMenu(MF_SEPARATOR);
  16.                         pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX.strAboutMenu);
  17.                 }
  18.         }
  19.         // Set the icon for this dialog.  The framework does this automatically
  20.         //  when the application's main window is not a dialog
  21.         SetIcon(m_hIcon, TRUE);                        // Set big icon
  22.         SetIcon(m_hIcon, FALSE);                // Set small icon
  23.         
  24.         // TODO: Add extra initialization here
  25.         
  26.         if(m_ctrlComm.GetPortOpen())
  27.                
  28.                 m_ctrlComm.SetPortOpen(FALSE);

  29.         m_ctrlComm.SetCommPort(10);

  30.         if(!m_ctrlComm.GetPortOpen())

  31.                 m_ctrlComm.SetPortOpen(TRUE);

  32.         else

  33.                 AfxMessageBox("cannot open serial port");

  34.         m_ctrlComm.SetSettings("9600,n,8,1");

  35.         m_ctrlComm.SetInputMode(1);

  36.         m_ctrlComm.SetRThreshold(1);

  37.         m_ctrlComm.SetInputLen(0);

  38.         m_ctrlComm.GetInput();
  39.         return TRUE;  // return TRUE  unless you set the focus to a control
  40. }
复制代码

OnOnCommMscomm1()函数代码
  1. OnOnCommMscomm1()函数代码
  2. void CCcomDlg::OnOnCommMscomm1()
  3. {
  4.         // TODO: Add your control notification handler code here

  5.         m_strRXData = " ";

  6.         VARIANT variant_inp;

  7.         COleSafeArray safearray_inp;

  8.         LONG len,k;

  9.         BYTE rxdata[2048];

  10.         CString strtemp;

  11.         if(m_ctrlComm.GetCommEvent() == 2)
  12.         {
  13.                 variant_inp = m_ctrlComm.GetInput();

  14.                 safearray_inp = variant_inp;

  15.                 len = safearray_inp.GetOneDimSize();

  16.                 for(k = 0; k < len; k++)
  17.                 {
  18.                         BYTE bt = *(char*)(rxdata + k);

  19.                         strtemp.Format("%c",bt);

  20.                         m_strRXData += strtemp;
  21.                 }
  22.         }

  23.         UpdateData(FALSE);
  24.         
  25. }
复制代码



赞赏

1

查看全部赞赏


回复

31

帖子

0

资源

一粒金砂(初级)

先收藏下,找時間學習設定

回复

3

帖子

0

资源

一粒金砂(中级)

好教程,谢谢分享!

回复

108

帖子

0

资源

纯净的硅(中级)

不错,初学者的福音。感谢分享!
个人签名大道至简

回复

70

帖子

6

资源

一粒金砂(中级)

感谢分享!

回复

1964

帖子

2

资源

五彩晶圆(初级)

使用控件的方式,这种方式效率不高哦!


回复

72

帖子

0

资源

一粒金砂(中级)

确实很简单


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

查找数据手册?

EEWorld Datasheet 技术支持

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

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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