串口上位机程序编写

借助开源文件:Com_class.h

程序实例:http://pan.baidu.com/s/1qWHUQmS

使用步骤:  1.包含Com_class.h头文件

2.

#include "Com_class.h"
class CComDlgDlg : public CDialog
{
// Construction
public:
	LRESULT On_Receive(WPARAM wp, LPARAM lp);
	_thread_com com2;
	CComDlgDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CComDlgDlg)
	enum { IDD = IDD_COMDLG_DIALOG };
	CString	m_e;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CComDlgDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CComDlgDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	virtual void OnOK();
	afx_msg void OnButton1();
	afx_msg void OnButton2();
	afx_msg void OnButton3();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_COMDLGDLG_H__75BDFED3_C096_4C40_AB56_E631ECD7434D__INCLUDED_)

  3.添加消息映射

BEGIN_MESSAGE_MAP(CComDlgDlg, CDialog)
    //{{AFX_MSG_MAP(CComDlgDlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
    ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
    ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
    //}}AFX_MSG_MAP
    ON_MESSAGE(ON_COM_RECEIVE, On_Receive)
END_MESSAGE_MAP()

4.添加重载函数

LRESULT CComDlgDlg::On_Receive(WPARAM wp, LPARAM lp)
{
    int len;
    char str[100];
    len = com2.read(str, 100);
    if(len > 0)
    {
        char com_str[10];
        strcpy(com_str, "COM");
        ltoa((long)wp, com_str + 3, 10); //    WPARAM 保存端口号
        m_e += com_str;
        m_e += " : ";
        m_e += str;
        m_e += "\r\n";
        UpdateData(false);
    }

    return 0;
}

5.打开串口

void CComDlgDlg::OnButton1()
{
    if(!com2.open(5))//默认是9600 调用不同的OPEN可以调节波特率
        MessageBox("open fail", "COM5", MB_OK);
    else
        com2.set_hwnd(m_hWnd);

}

6.发送数据

void CComDlgDlg::OnButton3()
{
    char  buff[100];
    // TODO: Add your control notification handler code here
//    com2<<1;
    buff[0]=0x55;
    com2.write(buff,1);
}

7.关闭串口

void CComDlgDlg::OnButton2()
{
    com2.close();
}
时间: 2024-10-11 05:26:42

串口上位机程序编写的相关文章

VC++编写简单串口上位机程序

转载: http://blog.sina.com.cn/s/articlelist_1809084904_0_1.html VC++编写简单串口上位机程序 串口通信,MCU跟PC通信经常用到的一种通信方式,做界面.写上位机程序的编程语言.编译环境等不少,VB.C#.LABVIEW等等,我会的语言很 少,C语言用得比较多,但是还没有找到如何用C语言来写串口通信上位机程序的资料,在图书管理找到了用VC++编写串口上位机的资料,参考书籍,用自己相 当蹩脚的C++写出了一个简单的串口上位机程序,分享一下

c++串口上位机调试助手的总结和部分代码

在初始化函数中添加: // TODO: Add extra initialization here m_bAutoSend=FALSE;  //m_bAutoSend为全局变量 m_nCycleTime=1000; m_GPSCOM.SetCommPort(1);   //选择COM1 m_GPSCOM.SetInputMode(1); //输入方式为二进制方式 m_GPSCOM.SetInBufferSize(1024); //设置输入缓冲区大小 m_GPSCOM.SetOutBufferSi

ESP8266 SDK开发: 综合篇-C#上位机串口通信控制ESP8266

实现的功能 1.C#串口上位机通过串口控制继电器 控制继电器吸合      控制继电器断开      说明 1,请用户先学习这一节 https://www.cnblogs.com/yangfengwu/p/12382103.html   编写C#串口调试助手 2.控制继电器引脚 协议规定 上位机串口发送给ESP8266控制继电器吸合指令: 0xaa  0x55  0x01 0x01 ESP8266执行以后回复: 0x55  0xaa  0x01 0x01 上位机串口发送给ESP8266控制继电器

温度传感器+I2C+串口+PC上位机(pyserial)例子

例子写的有点乱,主要是学习: 温度传感器DS18b20,E2PROM,I2C, 串口读写,PC上位机(pyserial)数据显示 SerialPort.py     PC串口上位机程序,可以设定上限报警温度 需要安装Python3以上,pyserial库,例子在Python3.4下写的. 上位机传给单片机上限报警温度后,单片机存入E2PROM, 单片机断电重启后,从E2PROM读取报警值. i2c.h             I2C总线读写和设定 lcd1602.h         lcd160

用LabVIEW编写上位机

用LabVIEW编写上位机 1.下载.安装LabVIEW 现在网上搜,能搜出来一大推LabVIEW下载和安装以及破解教程,因此这里不做详细介绍.请自行百度~~.另外,提醒一下,下载LabVIEW时尽量下载那种带注册机,因为如果不对LabVIEW进行破解,很多的基本功能都用不了的. 这里给一个我的云盘的链接,里面含有注册机哦: http://pan.baidu.com/s/1mgqqr1m 2.下载安装VISA VISA(Virtual Instrument Software Architectu

VS2015编写的MFC上位机,波特率可调,可动态显示曲线,可显示三维

VS2015编写的MFC上位机,波特率可调,可动态显示曲线,可显示三维 2016年01月14日 11:40:28 博博有个大大大的Dream 阅读数:9375 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_17783559/article/details/50516228 近期做一个项目正好涉及MFC编写串口上位机,主要用于动态显示曲线和陀螺仪三维信息,想做飞思卡尔或者四旋翼的小伙伴可以借鉴一下,首先贴个结果图: 下面来简单讲解一下这个上

[自娱自乐] 4、超声波测距模块DIY笔记(四)——终结篇&#183;基于C#上位机软件开发

前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分展示 三.基于C#的客户端软件说明 3-1.整体框架介绍: 3-2.部分技术细节介绍 3-2-1.串口操作 3-2-2.JiSuan函数说明及核心算法介绍 四.阶段小结 五.相关链接 一.整体思路 >_<" 如下图,利用我们上三节开发的超声波发射与接收设备构成一个:2固定接收头+1可移动

USB工业摄像头设计之上位机

在工业相机中对摄像头要求较高,且采集的图像数据要求是源数据,未经过任何处理. 为了兼容xp.win7(32bit 64bit) 程序采用VS2008  MFC编制,参考网上一些应用. CYUSB驱动与CYAPI开发包以前68013上位机程序的编写过程中,应用程序端通过调用DeviceIoControl() API或CREATEPIPE() API与驱动进行交互,继而读写控制硬件设备,在新的68013A的驱动中采用了两种新的调用方法:第一种是继续使用DeviceIoControl()函数读写,不同

9.PMAC上位机-上位机发送指令

通常我们说PC控制其他硬件工作,指的是PC给相应的硬件发送指令来控制对应硬件.同时在发送完指令后可能会接受到相对应的反馈消息,告诉PC当前硬件的状态和参数等数据,这就是常见的PC和硬件通信.PMAC已经帮我们封装好了这通信过程,直接调用相关函数即可,这里讲通过上位机给PMAC发送指令控制电机运动或设置参数或返回当前指定参数值等. PMAC提供PmacGetResponse和PmacGetResponseEX给PMAC发送指令.这一过程非常类似在Terminal中我们手动给PMAC发送指令,这里两