登录
首页 » VC++源码 » VC串口调试、发送和接收消息范例

VC串口调试、发送和接收消息范例

于 2023-05-17 发布 文件大小:21.32 kB
0 167
下载积分: 2 下载次数: 1

代码说明:

VC串口调试、发送和接收消息数据范例,这里面涉及到线程控制、串口调试、发送消息、接收消息等编写技巧,还有串口读和写操作,独占方式、延时发送消息,设置发送和接收缓冲区大小等,关于一些参数定义和接收数据函数的代码如下:   OVERLAPPED tOverLaped= {0}; //线程函数使用的OVERLAPPED结构   OVERLAPPED wOverLaped = {0}; //写操作使用的OVERLAPPED结构   OVERLAPPED rOverLaped = {0}; //读操作使用的OVERLAPPED结构   BOOL IsFun = TRUE; //线程是否运行   BOOL IsStop = FALSE; //数据是否发送完毕   //自定义消息处理函数,用于接收数据   void CSeriesPortDlg::OnRecieveData(WPARAM wParam, LPARAM lParam)   {    DWORD res,factbyte;    memset(DataBuffer,0,1024); //初始化数据缓冲区    COMSTAT rst;    ClearCommError(hCom,&res,&rst);//清空串口错误标志,记录当前通信状态    rOverLaped.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); //创建一个事件对象    if (ReadFile(hCom,DataBuffer,rst.cbInQue,&factbyte,&rOverLaped)) //读取数据到缓冲区中    {    DataBuffer[rst.cbInQue]= 0;    IsStop = FALSE;    }    else    {    res = WaitForSingleObject(rOverLaped.hEvent,5000);    }    IsStop = FALSE;    MessageBox(DataBuffer);   }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC6.0 多表分组统计查询销售数据
    VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。   提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
    2023-02-05 17:45:03下载
    积分:1
  • 用VC++实现各种进制间的转换小程序
    酷黑窗体风格的VC++进制转换程序,实现大家各种常用进制间的转换,比如十进制转二进制,八进制、十六进制,还包括了任意两种进制间的转换,用起来十分方便。程序的界面也很有个性,美化成了黑色风格。   注:在用户输入的时候,每个对应的输入框都有对应进制的判断机制,若用户输入错误,会弹出提示,是不能进行转换的。
    2022-10-13 18:50:03下载
    积分:1
  • VC++ 6.0 定时执行任务(关机、重启等)编写实例
    VC++ 6.0 定时执行任务编写实例,程序运行时显示托盘图标和右键菜单,请设置好时间和需要执行的外部文件路径及文件名,默认情况下是执行外部任务,可选择执行关机、重启、注销等任务,然后启动定时程序,在仅剩1分钟时,程序会显示自动重启警告:计算机将于1分钟内重启,是否取消重启?按"是"则取消自动重启.若允许自动关闭,请保存尚未关闭的程序!"。   本定时程序时间的设置可精确到日期、时间、秒,编写步骤:   ①设置任务执行的日期时间.   ②选择关机,注销,重启,任务模式.   ③选择了任务模式,需要设置任务路径.   ④按下"启动定时"按钮.   ⑤关机前1分钟不段提示是否关机或重启,如果用户一直未取消,电脑将于1分钟内关机或重启.有如下代码可参考:   if(shutTime < CTime::GetCurrentTime())   {    MessageBox("设置的时间不能早于当前系统时间!");   }   else   {    CString bb;    cButton->GetWindowText(bb);    if(bb == "启动定时")    {    if(radio == 1)    {    MessageBox("定时关机已启动!","定时关机已启动");    }    else if(radio == 2)    {    MessageBox("定时注销已启动!","定时注销已启动");    }    else if(radio == 3)    {    MessageBox("定时重启已启动!","定时重启已启动");    }else if(radio == 4)    {    CString command = "";    GetDlgItemText(IDC_EDIT2,command);    if(command == "")    {    MessageBox("请选择要执行的文件!");    return ;    }else    {    MessageBox("定时任务已启动!","定时任务已启动");    }    }    SetTimer(1,1000,0);    AfxGetApp()->m_pM
    2022-10-17 12:35:03下载
    积分:1
  • VC6.0 对联合查询后的数据结果集进行排序
    VC6.0 对联合查询后的结果进行排序,对获得的记录集进行排序,这是个同样实用的功能,特别在一些中小企业的数据库系统中,尤其实用,对数据分析很有帮助。本例子中的排序主要是两种常用形式:升序排列和降序排列。最终的排序结果绑定于Datagridview数据显示控件中显示。
    2022-07-13 07:35:09下载
    积分:1
  • VC++ 获取IE运行实例的标题,并修改其标题
    VC++ 获取IE运行实例的标题,并修改其标题,大致的实现步骤:设置列表控件的风格、创建COM变量的实例、获取当前正在运行的所有IE窗口的标题信息,刷新列表控件、释放IE实例对象、获得第i个ie实例、获得文档对象、获得文档标题、将IE标题填充到列表框、用户选择指定的IE标题项,然后设定ie标题、销毁窗口时,清除com环境、清除所有com对象。
    2022-03-31 12:59:54下载
    积分:1
  • VC++ 创建可以显示“最近打开”文件的功能
    VC++ 创建可以显示“最近打开”文件的功能,也就是为菜单项增添历史记录的功能,让打开的文件记录显示在菜单列表中,方便用户下一次打开文件,挺人性化的一个功能。现在的word、WPS等软件,打开后,用户都可以从菜单中选择最近打开的文件,快速找到自己的文档,本VC++源码就是模拟了这一功能。运行效果请参见下边的测试截图。
    2023-05-17 09:10:03下载
    积分:1
  • VC++ 6.0 弹球游戏&打砖块源代码
    PenBall游戏源代码,VC++ 6.0 编写开发的弹球游戏&打砖块源代码,这个游戏的叫法很多了,有人叫做乒乓球游戏,有的叫“撞球游戏”,这里被称为弹球游戏和打砖块游戏,不管叫做么吧,大家一看到运行截图就明白了是什么游戏。这款撞球游戏分为三关,第三关是最难的,还有音效,操作挺方便,球拍自动跟随鼠标移动,运动自如。分享本源码主要是让大家参考一些从游戏中剥离出来的技巧,比如控制对象移动、碰撞检测反弹等,可用于其它的VC++开发项目中。
    2022-08-13 12:20:23下载
    积分:1
  • VC++ 6.0 启动画面编程实例
    VC++ 6.0 启动画面编程实例,现在这种软件启动方式比较常见了,打开软件 后,先显示一个启动画面,同时程序开始载入,显示进度条,本例子我觉得演示的挺好,源代码编译环境:vc++6.0,运行截图:请参见测试截图。
    2022-03-18 03:56:27下载
    积分:1
  • VC++ 数据库万能打印模块
    VC++ 数据库万能打印模块,书中的例子,最终运行效果请参见截图。操作方法:首先在“选择数据库类型”下拉列表中选择数据库类型,这里有两种,Access和SQL Server。选择完数据库后,单击“连接数据库”进入相应的操作界面,选择数据表及字段,单击“确定”按钮,即可进入数据查询页面,在该页面中查以查询数据、打印数据。单击“查询”按钮,打开“查询”模块,单击“打印设置”按钮,打开“设置”模块,这里可以设置纸张,页边距,打印方向,字体,颜色,表格高度,线条宽度等等。单击“打颖按钮,进入打印预览页面,在该页面中单击“打颖按钮,即可打印数据。   详细的代码请下载源码包。
    2022-01-29 04:39:18下载
    积分:1
  • VC++6.0 窗口过程函数及消息发送、响应测试实例
    VC++6.0 窗口过程函数及消息发送、响应测试实例,在应用程序中窗口过程函数及其消息发送、响应机制的使用,能够方便程序集中处理各类消息,使得整个程序的架构更加合理、清晰。窗口过程函数及其消息发送、响应机制的使用方法:   ⑴自定义消息:   在Resource.h文件中自定义消息:#define WM_MYMSG 2000   ⑵添加窗口过程函数的声明和实现体:   ①在.h文件中添加窗口过程函数声明:   virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);   ②在.cpp文件中添加窗口过程函数实现体:   ⑶发送消息的方式比较:   ①this->SendMessage(WM_MYMSG,0,0);   ②this->PostMessage(WM_MYMSG,0,0);   ③this->SendNotifyMessage(WM_MYMSG,0,0);   这三个函数都可以将指定的消息发送到某个窗口,但是这三种消息的发送方式存在如下的区别:SendMessage立即调用窗口过程函数,而且直到窗口过程函数处理完消息后才返回。PostMessage则是将指定的消息寄送到窗口消息队列后立即返回。对于SendNotifyMessage来说,如果窗口是调用线程创建的,SendNotifyMessage为该窗口调用窗口过程函数,并且等待窗口过程函数处理完消息后才返回;如果窗口是由不同的线程创建的,SendNotifyMessage将指定的消息传给窗口过程函数后立即返回。
    2023-03-05 04:00:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载