• 大小: 5.97MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-25
  • 语言: C/C++
  • 标签:

资源简介

VS2003 MFC串口源码,通过修改可以变成自己的串口调试工具。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “Com.h“
#include 
#include “assert.h“
#include “Thread.h“

HANDLE m_COM_Handle;
OVERLAPPED m_OverlappedRead;
OVERLAPPED m_OverlappedWrite;
CThread thread;
extern char gBaudType;


CCom::CCom()
{
}

CCom::~CCom()
{
if (NULL != m_COM_Handle)
{
CloseCom();
m_COM_Handle = NULL;
}
}

BOOL CCom::OpenCom(char *chPort
 char *cfgMessage
 unsigned long lngInSize
 unsigned long lngOutSize)
{
BOOL Status = TRUE;
char szMsg[255];
DCB ComDcb;
COMMTIMEOUTS CommTimeOuts; 

memset(szMsg0sizeof(255));

m_COM_Handle  = CreateFile(chPort 
GENERIC_READ|GENERIC_WRITE 

NULL 
OPEN_EXISTING 
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED  
NULL ); 

if(m_COM_Handle == NULL)
{
return FALSE;
}

memset(&m_OverlappedRead 0 sizeof (OVERLAPPED));
//设置ComDcb块 
ComDcb.DCBlength = sizeof( DCB );         //长度 
GetCommState(m_COM_Handle  &ComDcb ); 

memset(&ComDcb0sizeof(DCB));
sprintf(szMsg“%s:%s“ chPortcfgMessage); 
BuildCommDCB(szMsg&ComDcb); 
//------------------------------  
ComDcb.fBinary=TRUE;                      //二进制方式   
ComDcb.fOutxCtsFlow=FALSE;                //不用CTS检测发送流控制 
ComDcb.fOutxDsrFlow=FALSE;                //不用DSR检测发送流控制 
ComDcb.fDtrControl=DTR_CONTROL_DISABLE;   //禁止DTR流量控制 
ComDcb.fDsrSensitivity=FALSE;             //对DTR信号线不敏感 
ComDcb.fTXContinueOnXoff=TRUE;            //检测接收缓冲区 
ComDcb.fOutX=FALSE;                       //不做发送字符控制 
ComDcb.fInX =FALSE;                       //不做接收控制 
ComDcb.fErrorChar=FALSE;                  //是否用指定字符替换校验错的字符 
ComDcb.fNull=FALSE;                       //保留NULL字符 
ComDcb.fRtsControl=RTS_CONTROL_ENABLE;    //允许RTS流量控制 
ComDcb.fAbortonerror=FALSE;               //发送错误后,继续进行下面的读写操作 
ComDcb.fDummy2=0;                         //保留 
ComDcb.XonLim=0;                          //指定在XOFF字符发送之前接收到缓冲区中可允许的最小字节数 
ComDcb.XoffLim=0;                         //指定在XOFF字符发送之前缓冲区中可允许的最小可用字节数 
ComDcb.XonChar=0;                         //发送和接收的XON字符  
ComDcb.XoffChar=0;                        //发送和接收的XOFF字符 
ComDcb.ErrorChar=0;                       //代替接收到奇偶校验错误的字符  
ComDcb.EofChar=0;                         //用来表示数据的结束 
ComDcb.EvtChar=0;                         //事件字符,接收到此字符时,会产生一个事件 
ComDcb.wReserved1=0;                      //没有使用 

switch(gBaudType)
{
case BD_9600:
ComDcb.BaudRate =9600;                  //波特率 
break;
case BD_115200:
ComDcb.BaudRate =115200;                  //波特率 
break;
default:
break;
}

ComDcb.Parity=0;                        //奇偶校验  
ComDcb.ByteSize=8;                      //数据位 
ComDcb.StopBits=0;                      //停止位 

CommTimeOuts.ReadIntervalTimeout =0;                                   //字符允许间隔ms   该参数如果为最大值,会使readfile命令立即返回    
CommTimeOuts.ReadTotalTimeoutMultiplier =0;                             //总的超时时间(对单个字节

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     178499  2010-07-10 15:09  Serial\4.htm

     文件       6819  2010-07-12 13:16  Serial\Com.cpp

     文件        414  2010-07-12 13:02  Serial\Com.h

     文件     319865  2010-07-10 15:42  Serial\CreateThread(Win32 API) Afxbeginthread(MFC),_beginthreadex - wdswei的专栏 - CSDN博客.mht

     文件      48564  2010-07-10 14:03  Serial\MFC串口操作(异步方式)源码_ikkoku01吧_贴吧.htm

     文件       2658  2010-07-10 13:08  Serial\ReadMe.txt

     文件       1184  2010-07-12 11:07  Serial\resource.h

     文件       1928  2007-07-25 23:34  Serial\RuntimeException.cpp

     文件       1158  2006-06-30 17:14  Serial\RuntimeException.h

     文件      43632  2010-07-31 10:04  Serial\Serial.aps

     文件       1452  2010-07-11 00:01  Serial\Serial.cpp

     文件        435  2010-07-11 00:01  Serial\Serial.h

     文件     134144  2010-07-31 15:25  Serial\Serial.ncb

     文件       6290  2010-07-12 19:03  Serial\Serial.rc

     文件        901  2010-07-10 13:08  Serial\Serial.sln

    ..A..H.      9728  2010-07-31 15:25  Serial\Serial.suo

     文件       4989  2010-07-11 10:44  Serial\Serial.vcproj

     文件      13662  2010-07-12 13:23  Serial\SerialDlg.cpp

     文件       1890  2010-07-12 13:03  Serial\SerialDlg.h

     文件       1057  2006-07-02 22:23  Serial\SerialPortObserver.cpp

     文件        135  2010-07-10 13:08  Serial\stdafx.cpp

     文件       1458  2010-07-10 13:08  Serial\stdafx.h

     文件       2715  2010-07-11 10:14  Serial\Thread.cpp

     文件       1248  2010-07-11 00:34  Serial\Thread.h

     文件     315459  2010-07-10 15:50  Serial\多线程专题之MFC创建线程(2) - 章志强 - CSDN博客.mht

     文件     354029  2010-07-12 12:31  Serial\如何用VC把计算机中一共有几个串口检测出来? - VC-MFC - 基础类.mht

     文件      21630  2003-04-01 04:36  Serial\res\Serial.ico

     文件        695  2010-07-10 13:08  Serial\res\Serial.manifest

     文件        362  2010-07-10 13:08  Serial\res\Serial.rc2

     文件      37659  2010-07-10 13:20  Serial\MFC串口操作(异步方式)源码_ikkoku01吧_贴吧.files\base.js

............此处省略37个文件信息

评论

共有 条评论

相关资源