导航:首页 > 文档加密 > 串口通信编程实践pdf

串口通信编程实践pdf

发布时间:2023-11-16 16:11:05

❶ 能给我c/c++串口通信典型应用实例编程实践的电子版吗,还有源代码

我当时用的这个人的代码:

/*
Mole:SerialPort.H
Purpose:

Copyright(c)1999-2008byPJNaughter.

Allrightsreserved.

Copyright/UsageDetails:

(commercial,shareware,freewareorotherwise)
.
.Ifyouwanttodistributesource
codewithyourapplication,.Thisis
.

*/


/////////////////////Macros/Structsetc////////////////////////////////////

#pragmaonce

#ifndef__SERIALPORT_H__
#define__SERIALPORT_H__

#ifndefCSERIALPORT_EXT_CLASS
#defineCSERIALPORT_EXT_CLASS
#endif


///////////////////////////Classes///////////////////////////////////////////

classCSERIALPORT_EXT_CLASSCSerialException:publicCException
{
public:
//Constructors/Destructors
CSerialException(DWORDdwError);

//Methods
#ifdef_DEBUG
virtualvoidDump(CDumpContext&dc)const;
#endif
virtualBOOLGetErrorMessage(__out_ecount_z(nMaxError)LPTSTRlpszError,__inUINTnMaxError,__out_optPUINTpnHelpContext=NULL);
CStringGetErrorMessage();

//Datamembers
DWORDm_dwError;

protected:
DECLARE_DYNAMIC(CSerialException)
};

classCSERIALPORT_EXT_CLASSCSerialPort
{
public:
//Enums
enumFlowControl
{
NoFlowControl,
CtsRtsFlowControl,
CtsDtrFlowControl,
DsrRtsFlowControl,
DsrDtrFlowControl,
XonXoffFlowControl
};

enumParity
{
NoParity=0,
OddParity=1,
EvenParity=2,
MarkParity=3,
SpaceParity=4
};

enumStopBits
{
OneStopBit,
OnePointFiveStopBits,
TwoStopBits
};

//Constructors/Destructors
CSerialPort();
virtual~CSerialPort();

//GeneralMethods
voidOpen(intnPort,DWORDdwBaud=9600,Parityparity=NoParity,BYTEDataBits=8,
StopBitsstopBits=OneStopBit,FlowControlfc=NoFlowControl,BOOLbOverlapped=FALSE);
voidOpen(LPCTSTRpszPort,DWORDdwBaud=9600,Parityparity=NoParity,BYTEDataBits=8,
StopBitsstopBits=OneStopBit,FlowControlfc=NoFlowControl,BOOLbOverlapped=FALSE);
voidClose();
voidAttach(HANDLEhComm);
HANDLEDetach();
operatorHANDLE()const{returnm_hComm;};
BOOLIsOpen()const{returnm_hComm!=INVALID_HANDLE_VALUE;};
#ifdef_DEBUG
voidDump(CDumpContext&dc)const;
#endif

//Reading/WritingMethods
DWORDRead(void*lpBuf,DWORDdwCount);
voidRead(void*lpBuf,DWORDdwCount,OVERLAPPED&overlapped,DWORD*pBytesRead=NULL);
voidReadEx(void*lpBuf,DWORDdwCount);
DWORDWrite(constvoid*lpBuf,DWORDdwCount);
voidWrite(constvoid*lpBuf,DWORDdwCount,OVERLAPPED&overlapped,DWORD*pBytesWritten=NULL);
voidWriteEx(constvoid*lpBuf,DWORDdwCount);
voidTransmitChar(charcChar);
voidGetOverlappedResult(OVERLAPPED&overlapped,DWORD&dwBytesTransferred,BOOLbWait);
voidCancelIo();
DWORDBytesWaiting();
BOOLDataWaiting(DWORDdwTimeout);

//ConfigurationMethods
voidGetConfig(COMMCONFIG&config);
staticvoidGetDefaultConfig(intnPort,COMMCONFIG&config);
voidSetConfig(COMMCONFIG&Config);
staticvoidSetDefaultConfig(intnPort,COMMCONFIG&config);

//MiscRS232Methods
voidClearBreak();
voidSetBreak();
voidClearError(DWORD&dwErrors);
voidGetStatus(COMSTAT&stat);
voidGetState(DCB&dcb);
voidSetState(DCB&dcb);
voidEscape(DWORDdwFunc);
voidClearDTR();
voidClearRTS();
voidSetDTR();
voidSetRTS();
voidSetXOFF();
voidSetXON();
voidGetProperties(COMMPROP&properties);
voidGetModemStatus(DWORD&dwModemStatus);

//Timeouts
voidSetTimeouts(COMMTIMEOUTS&timeouts);
voidGetTimeouts(COMMTIMEOUTS&timeouts);
voidSet0Timeout();
voidSet0WriteTimeout();
voidSet0ReadTimeout();

//EventMethods
voidSetMask(DWORDdwMask);
voidGetMask(DWORD&dwMask);
voidWaitEvent(DWORD&dwMask);
BOOLWaitEvent(DWORD&dwMask,OVERLAPPED&overlapped);

//QueueMethods
voidFlush();
voidPurge(DWORDdwFlags);
();
voidTerminateOutstandingReads();
voidClearWriteBuffer();
voidClearReadBuffer();
voidSetup(DWORDdwInQueue,DWORDdwOutQueue);

//Overridables
virtualvoidOnCompletion(DWORDdwErrorCode,DWORDdwCount,LPOVERLAPPEDlpOverlapped);

//Staticmethods
(DWORDdwError=0);

protected:
//Typedefs
typedefBOOL(WINAPICANCELIO)(HANDLE);
typedefCANCELIO*LPCANCELIO;

//Staticmethods
staticvoidWINAPI_OnCompletion(DWORDdwErrorCode,DWORDdwCount,LPOVERLAPPEDlpOverlapped);

//Membervariables
HANDLEm_hComm;//Handletothecommsport
HANDLEm_hEvent;//
HINSTANCEm_hKernel32;//Kernel32handle
LPCANCELIOm_lpfnCancelIo;//CancelIOfunctionpointer
};

#endif//__SERIALPORT_H__

❷ 求c++串口通信实例源代码

推荐看书

Visual C++_Turbo C串口通信编程实践

需要 pdf 文档 可以联系
希望能解决您的问题。

阅读全文

与串口通信编程实践pdf相关的资料

热点内容
匀称app怎么用 浏览:58
pythonemail中文乱码 浏览:439
android访问html 浏览:84
做一个app或者网页用什么编程 浏览:772
一体机服务器运行失败怎么办 浏览:933
longjava比较大小 浏览:527
clojure编程pdf 浏览:18
一年级数学圈一圈的算法 浏览:106
完整的python 浏览:39
c51单片机数字钟 浏览:920
apk文件反编译后安装包损坏 浏览:813
app图标分别是什么 浏览:364
linux全选命令 浏览:365
怎么用华硕app 浏览:960
小明台湾通道加密 浏览:373
apriori算法的java 浏览:712
jscanvas压缩图片 浏览:388
单片机与汽车单片机有何不同 浏览:969
兽医云平台服务器 浏览:321
php循环字母 浏览:663