• 大小: 1.68MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: C/C++
  • 标签: Visual  C++,通信  

资源简介

网络与通信及计算机安全与维护篇。包括12个实例,代码及实现。

资源截图

代码片段和文件信息

// PubSub.cpp: implementation of the CPubSub class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “SerialCom.h“
#include “PubSub.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CPubSub::CPubSub()
{
m_hCom = INVALID_HANDLE_VALUE;
}

CPubSub::~CPubSub()
{

}

//===========================================================
// 功能:打开资源
// 参数:ComNo:串口号,Baut:波特率,Data:数据位,Stop:停止位
//       Parity:校验位,cbInBuf:输入队列大小,cbOutBuf:输出队列大小
//===========================================================
BOOL CPubSub::OpenCom(int ComNoDWORD Bautint Dataint Stopint ParityDWORD cbInBufDWORD cbOutBuf)
{
if(INVALID_HANDLE_VALUE!=m_hCom)
CloseCom();

DCB Dcb;
COMMTIMEOUTS TimeOut;
char p[30];
if(ComNo<1||ComNo>255) return FALSE;

if(INVALID_HANDLE_VALUE!=m_hCom)
CloseHandle(m_hCom);

Baut=(Baut<50)? 50:Baut;
Data=((Data>=4)&&(Data<=8))?(BYTE)Data:8;
Stop=Stop>3 ? (BYTE)1:Stop;
Parity=Parity>3 ? (BYTE)1:Parity;

sprintf(p“COM%d“ComNo);

m_hCom=CreateFile(pGENERIC_READ|GENERIC_WRITE0NULLOPEN_EXISTINGNULLNULL);
if(m_hCom==INVALID_HANDLE_VALUE) return FALSE;

GetCommState(m_hCom&Dcb);
Dcb.BaudRate=Baut;
Dcb.ByteSize=Data;
Dcb.StopBits=Stop;
Dcb.Parity=Parity;
if(!SetCommState(m_hCom&Dcb))
{
CloseHandle(m_hCom);
m_hCom=INVALID_HANDLE_VALUE;
return FALSE;
}
memset(&TimeOut 0 sizeof(TimeOut));
TimeOut.ReadIntervalTimeout = MAXDWORD;
SetCommTimeouts(m_hCom &TimeOut);//表示立即返回

SetupComm(m_hComcbInBufcbOutBuf);

return TRUE;

}

//================================================
// 功能:获取串行口缓冲区的字节数
//================================================
int CPubSub::GetDataLen()
{
if(m_hCom==INVALID_HANDLE_VALUE)
return 0;

COMSTAT comstat;
DWORD dwError;
if(ClearCommError(m_hCom&dwError&comstat))
return comstat.cbInQue;
dwError=GetLastError();
return 0;
}

//===================================================
// 功能:读串行口
//===================================================
DWORD CPubSub::ReadCom(BYTE *pBuffint nCount)
{
if(m_hCom==INVALID_HANDLE_VALUE)
return 0;
DWORD read=0;
ReadFile(m_hCom  pBuff  nCount  &read  NULL);
return read;
}

//==================================================
// 功能:写串行口
// 参数:pBuff:数据缓冲区nCount:要写入数据的字节数
//==================================================
BOOL CPubSub::WriteCom(BYTE *pBuff int nCount)
{
if(m_hCom==INVALID_HANDLE_VALUE)
return FALSE;
DWORD written=0;
BOOL ret=WriteFile(m_hCompBuffnCount&writtenNULL);
return ret;
}

//==============================================
// 功能:关闭串行口
//==============================================
BOOL CPubSub::CloseCom()
{
if(m_h

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

     文件       1154  2005-06-21 18:13  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\Readme.txt

     文件      42944  2003-03-12 18:11  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\Mfm1992

     文件       3251  2003-03-12 19:43  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\PubSub.cpp

     文件        751  2003-03-12 19:43  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\PubSub.h

     文件       1193  2003-03-12 18:12  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\resource.h

     文件      36356  2003-03-12 19:10  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.aps

     文件       1893  2003-03-12 19:16  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.clw

     文件       2105  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.cpp

     文件       4308  2003-03-12 19:16  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.dsp

     文件        543  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.dsw

     文件     204800  2003-03-12 20:19  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.exe

     文件       1357  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.h

     文件       1078  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.ico

     文件      58368  2003-03-12 19:43  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.ncb

     文件      49664  2003-03-12 19:43  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.opt

     文件       6684  2003-03-12 19:10  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.rc

     文件        401  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialCom.rc2

     文件      10148  2003-03-12 19:43  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialComDlg.cpp

     文件       1778  2003-03-12 19:35  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\SerialComDlg.h

     文件        211  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\StdAfx.cpp

     文件       1054  2003-03-11 00:54  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例01\source\StdAfx.h

     文件      23056  2009-08-12 07:28  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.aps

     文件       1908  2009-08-12 07:28  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.clw

     文件       2259  2002-10-10 21:33  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.cpp

     文件       4483  2002-10-10 22:47  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.dsp

     文件       1006  2002-10-10 22:47  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.dsw

     文件       1478  2002-10-10 21:33  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.h

     文件     107520  2009-08-12 07:28  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.ncb

     文件       6782  2002-10-11 00:24  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialApp.rc

     文件      11155  2002-11-29 04:33  Visual C++编程技巧典型案例解析--网络与通信及计算机安全与维护篇\实例03\source\动态库(dll)中建立串口监视线程的实时串口通信\MultithreadSerialApp\MultithreadSerialAppDlg.cpp

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

评论

共有 条评论