-
大小: 5.97MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-09-25
- 語言: C/C++
- 標(biāo)簽:
資源簡介
VS2003 MFC串口源碼,通過修改可以變成自己的串口調(diào)試工具。

代碼片段和文件信息
#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?
0?
NULL?
OPEN_EXISTING?
FILE_ATTRIBUTE_NORMAL?|?FILE_FLAG_OVERLAPPED??
NULL?);?
if(m_COM_Handle?==?NULL)
{
return?FALSE;
}
memset(&m_OverlappedRead?0?sizeof?(OVERLAPPED));
//設(shè)置ComDcb塊?
ComDcb.DCBlength?=?sizeof(?DCB?);?????????//長度?
GetCommState(m_COM_Handle??&ComDcb?);?
memset(&ComDcb0sizeof(DCB));
sprintf(szMsg“%s:%s“?chPortcfgMessage);?
BuildCommDCB(szMsg&ComDcb);?
//------------------------------??
ComDcb.fBinary=TRUE;??????????????????????//二進(jìn)制方式???
ComDcb.fOutxCtsFlow=FALSE;????????????????//不用CTS檢測發(fā)送流控制?
ComDcb.fOutxDsrFlow=FALSE;????????????????//不用DSR檢測發(fā)送流控制?
ComDcb.fDtrControl=DTR_CONTROL_DISABLE;???//禁止DTR流量控制?
ComDcb.fDsrSensitivity=FALSE;?????????????//對DTR信號線不敏感?
ComDcb.fTXContinueOnXoff=TRUE;????????????//檢測接收緩沖區(qū)?
ComDcb.fOutX=FALSE;???????????????????????//不做發(fā)送字符控制?
ComDcb.fInX?=FALSE;???????????????????????//不做接收控制?
ComDcb.fErrorChar=FALSE;??????????????????//是否用指定字符替換校驗(yàn)錯(cuò)的字符?
ComDcb.fNull=FALSE;???????????????????????//保留NULL字符?
ComDcb.fRtsControl=RTS_CONTROL_ENABLE;????//允許RTS流量控制?
ComDcb.fAbortonerror=FALSE;???????????????//發(fā)送錯(cuò)誤后,繼續(xù)進(jìn)行下面的讀寫操作?
ComDcb.fDummy2=0;?????????????????????????//保留?
ComDcb.XonLim=0;??????????????????????????//指定在XOFF字符發(fā)送之前接收到緩沖區(qū)中可允許的最小字節(jié)數(shù)?
ComDcb.XoffLim=0;?????????????????????????//指定在XOFF字符發(fā)送之前緩沖區(qū)中可允許的最小可用字節(jié)數(shù)?
ComDcb.XonChar=0;?????????????????????????//發(fā)送和接收的XON字符??
ComDcb.XoffChar=0;????????????????????????//發(fā)送和接收的XOFF字符?
ComDcb.ErrorChar=0;???????????????????????//代替接收到奇偶校驗(yàn)錯(cuò)誤的字符??
ComDcb.EofChar=0;?????????????????????????//用來表示數(shù)據(jù)的結(jié)束?
ComDcb.EvtChar=0;?????????????????????????//事件字符,接收到此字符時(shí),會(huì)產(chǎn)生一個(gè)事件?
ComDcb.wReserved1=0;??????????????????????//沒有使用?
switch(gBaudType)
{
case?BD_9600:
ComDcb.BaudRate?=9600;??????????????????//波特率?
break;
case?BD_115200:
ComDcb.BaudRate?=115200;??????????????????//波特率?
break;
default:
break;
}
ComDcb.Parity=0;????????????????????????//奇偶校驗(yàn)??
ComDcb.ByteSize=8;??????????????????????//數(shù)據(jù)位?
ComDcb.StopBits=0;??????????????????????//停止位?
CommTimeOuts.ReadIntervalTimeout?=0;???????????????????????????????????//字符允許間隔ms???該參數(shù)如果為最大值,會(huì)使readfile命令立即返回????
CommTimeOuts.ReadTotalTimeoutMultiplier?=0;?????????????????????????????//總的超時(shí)時(shí)間(對單個(gè)字節(jié)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????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創(chuàng)建線程(2)?-?章志強(qiáng)?-?CSDN博客.mht
?????文件?????354029??2010-07-12?12:31??Serial\如何用VC把計(jì)算機(jī)中一共有幾個(gè)串口檢測出來??-?VC-MFC?-?基礎(chǔ)類.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\ba
............此處省略37個(gè)文件信息
- 上一篇:MFC郵件收發(fā)完整
- 下一篇:泡泡龍?jiān)创a C++
評論
共有 條評論