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

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

于 2023-05-17 发布 文件大小:21.32 kB
0 139
下载积分: 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 个回复

  • VC++制作支持文字滚动的静态文本控件
    VC++静态控件:用Static Text控件显示滚动文字,制作一个支持文字滚动的静态文本控件,静态文本控件,用来滚动显示文字,滚动速度可调,参考下句调整:   m_RollupStatic.SetSpeed(1);//滚动速度(0-慢速,1-中速,2-快速)。
    2022-03-21 13:53:35下载
    积分:1
  • VC++ 数据库万能打印模块
    VC++ 数据库万能打印模块,书中的例子,最终运行效果请参见截图。操作方法:首先在“选择数据库类型”下拉列表中选择数据库类型,这里有两种,Access和SQL Server。选择完数据库后,单击“连接数据库”进入相应的操作界面,选择数据表及字段,单击“确定”按钮,即可进入数据查询页面,在该页面中查以查询数据、打印数据。单击“查询”按钮,打开“查询”模块,单击“打印设置”按钮,打开“设置”模块,这里可以设置纸张,页边距,打印方向,字体,颜色,表格高度,线条宽度等等。单击“打颖按钮,进入打印预览页面,在该页面中单击“打颖按钮,即可打印数据。   详细的代码请下载源码包。
    2022-01-29 04:39:18下载
    积分:1
  • VC++俄罗斯方块 带声音
    VC++俄罗斯方块源码 带声音,操作说明:利用键盘控制方块的移动: ↑ 方块旋转 ↓ 直接落下 ←向左移动 → 向右移动。消除行数已经超过10级,游戏结束。   游戏具体玩法:选中游戏界面的"游戏"|"游戏开始"来开始游戏,每当用方块填充完一行或者多行时,则可以消除当前这一行或者多行的方块,并得到一定积分。当方块堆放的高度超过游戏所规定的最大高度,即游戏界面最上面的边界。则认定游戏结束。开始时将要出现方块没有生成,其不能赋值给当前方块数组。   判碰撞,遇到了边界或者有其他方块档住我觉得这个方法对编写游戏很不错,碰撞检测的例子。
    2022-02-12 00:45:04下载
    积分:1
  • 参考性极强的一款VC推箱子游戏
    参考性极强的一款VC推箱子游戏源码,带背景音乐可自定义关卡的推箱子游戏,关于玩法就不多介绍了吧:选中游戏界面的"游戏"|"游戏开始"来开始游戏。游戏以键盘来进行操作,玩家利用方向键把地图中的箱子推到指定位置。当玩家把全部的箱子都放置完毕时,玩家胜利进入下一关。如果玩家无法完成任务,则玩家失败,可自行选择重新游戏,还是从新关口游戏。   Debug中包括了音效文件和map文件,并可简单设置地图等操作,游戏运行界面如示例截图所示。
    2022-04-26 16:06:04下载
    积分:1
  • 又一个简单的VC++ 定时关机功能实现
    又一个简单的VC++ 定时关机功能实现,程序运行后屏蔽最大化,将最小化重定向至隐藏窗口,在Windows托盘处显示图标,双击该图标可调用出定时关机设置窗口。具体实现定时关机功能的代码如下:   // 将图标放入系统托盘    TrayNotifyMsg(NIM_ADD, IDR_MAINFRAME, "定时关机");    // 初始化关机时间为23点.    SYSTEMTIME systime;    ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_TIME))->GetTime(&systime);    systime.wHour = 23;    systime.wMinute = 0;    systime.wSecond = 0;    ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_TIME))->SetTime(&systime);    // 设定定时器    SetTimer(1, 1000, NULL);    // 显示当前的系统时间    ShowCurrentTime();    return TRUE; // return TRUE unless you set the focus to a control   }
    2022-02-02 22:49:18下载
    积分:1
  • VC++ 6.0 定制分割条(分隔条)的样式及大小
    VC++ 6.0 定制分割条,也就是窗体的分隔条,将窗口分隔成若干个部分,用来显示不同的内容,该窗格视图为CStaticSplitWnd4View,该窗格大小不能通过拖动改变,不过我们可以通过菜单命令动态改变大小,窗格视图为CView2,该窗格大小不能通过拖动改变,窗格视图CView3和CView4都可以通过分隔条的拖动来改变视图大校   本示例中的分隔条经过了初级的美化,而且也向用户展示了,如何通过分割条来固定分栏窗格视图的大小,如何让分隔条不支持拖动等功能。
    2023-08-22 18:20:04下载
    积分:1
  • VC++ 版 GDI+程序设计实例实例集
    gdiplus应用实例,在网络上广泛流传的“GDI+程序设计实例源代码”中使用的是C#语言,且封装了开源对象,   源代码主要在 “Form1.cs” 中,其功能的实现形式与.Net的MSDN帮助不同。   作者对该源代码进行了移植,在VC的非 UNICODE 环境下进行了修改,主要处理:   1、提供了一个 multibyte 与 widechar 的转化类 CWideCharString    实现 char* 与 WCHAR* 的转换有许多方法,如:    a) CWideCharString(char*) 得到 WCHAR*    b) L"char* string" 得到 WCHAR*    c) 在非UNICODE环境下,CString(WCHAR*) 得到 char*   2、将原C#中的Math、Shell等对象转换为普通的VC函数,如定义了 rand_Next 等。   3、将原C#代码中的new改为VC的引用或指针,避免了在VC中对new的重载和delete的繁杂调用所带来的内存泄漏   4、定义了一组MyDrawString函数,替换原代码中的 graphics.DrawString(...),保持了原C#代码中DrawString的参数顺序和引用方式,增加了两个 _MakeA_RGB 函数   5、因为 Image::Save 要求保存的文件不得存在,而在演示中可能会反复执行Save,所以提供了 MyImageSave 函数,先判断文件是否存在,若存在则删除,然后 Save.   6、为尽可能保持原代码的风格,在 CWalkLtDemo.cpp 的 OnDraw(...) 函数中提供一个void DoGdiplusDemo(...) 函数,该函数负责向各功能演示函数中传递所需要的绘图区和Graphics实例。   7、在主菜单“查看”项下增加了“GDI+功能演示”和“当前演示的源代码”菜单,并在工具条上增加了相应按钮。   8、程序已在VC6和VC++.NET中进行了完全的测试。   本源码包中使用的 gdiplus*.h 中对 Color 和 Point 进行了重新声明,分别为:   GdiPlusColor 和 PointI   为与MSDN中的 Color 和 Point 相一致,在WalkLtDemoHelp.h中使用了 typede
    2023-07-17 07:35:04下载
    积分:1
  • VC++ 实现对软件的简单加密(注册)功能
    VC++ 实现对软件的简单加密,本程序是通过C盘序列号来加密文件,实现软件的注册功能,软件号和C盘序列号同时正确才可验证,而C盘的序列号是唯一的,获得c盘序列号的代码如下:   DWORD VolumeSerialNumber;   GetVolumeInformation("c:",NULL,12,&VolumeSerialNumber,NULL,NULL,NULL,10);   VolumeSerialNumber^=0x12345678;//本机c盘序列号简单运算   m_usernum=VolumeSerialNumber;   UpdateData(false);   然后通过序列的判断,来验证加密是否正确,比如下边的代码来做加密验证:   UpdateData(true);   DWORD num;   num=m_usernum;   num^=0x1999aa98+12;//加密算法   if(!(num==m_serialnum))   {    AfxMessageBox("输入的序列号不正确!");    return;   }
    2022-11-07 22:05:03下载
    积分:1
  • VC++ 向程序中手工添加WinHelp帮助文件
    VC++ 向程序中手工添加WinHelp帮助文件,也就是在程序中调用帮助。一个完善的软件系统,不可缺少帮助系统。本程序演示在VC++开发中,手动从外部添加WinHelp帮助文件,本实例 中是添加调用了Windows7系统中的两个帮助文件,点击菜单项的“帮助”,选择“帮助主题”和“绘制直线帮助”两个功能,即可演示本功能的效果。
    2022-01-25 14:39:21下载
    积分:1
  • VC6.0 使用ODBC读写Excel表格文件
    本VC++源码主要演示使用ODBC数据库访问技术:通过ODBC读写Excel表格文件,若数据库表没有被创建,则将"读取"按钮和"列表"控件置为无效状态,获取主程序所在路径,获取数据库文件。
    2022-08-21 14:44:43下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载