資源簡介
用C++編寫的串口類。調用winAPI函數。包含頭文件windows.h、string。
void SetPortNumber(const ComPort PortNumberToSet);
void SetBaudRate(const BaudRate BaudRateToSet);
void SetStopBits(const StopBits StopBitsToSet);
void SetParity(const ParityType ParityToSet);
ComPort GetPortNumber();
BaudRate GetBaudRate();
StopBits GetStopBits();
ParityType GetParity();
bool Open();
bool IsOpen();
long IsRxData();
void Flush();
void Close();
unsigned long Read(char* ReadDataPtr);
bool Write(const char* WriteDataPtr,const char WriteLen);

代碼片段和文件信息
//==============================================================================
//com?class
//Edited?by?yangyong?2011/08/31
//Header:?com.h
//==============================================================================
#include?“com.h“
//==============================================================================
Com::Com():
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(cpCOM_1)
itsBaudRate(brB_9600)
itsByteSize(8)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort?portNumber):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(brB_9600)
itsByteSize(8)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort?portNumber?BaudRate?buadRate):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(8)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort?portNumber?BaudRate?buadRate?char?byteSize):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(byteSize)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort?portNumber?BaudRate?buadRate?char?byteSize?ParityType?parity):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(byteSize)
itsParity(parity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort?portNumber?BaudRate?buadRate?
char?byteSize?ParityType?parity?StopBits?stopBits):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(byteSize)
itsParity(parity)
itsStopBits(stopBits)
{
}
//==============================================================================
Com::~Com()
{
????this->Close();?
}
//==============================================================================
bool?Com::IsOpen()
{
????return?(itsPortHandle?!=?INVALID_HANDLE_VALUE);
}
//==============================================================================
bool?Com::Open()
{
????std::string?StrCom?=?“COM“;
????DCB?dcbPort;
????if(IsOpen())
????{
????????Close();
????}
????//將數字轉變成字符,并通過append函數添加在字符串StrCom結尾
????//組合成串口號
????if((itsPortNumber?>=?0)?&&?(itsPortNumber?<=?9))
????{
????????StrCom.append(1(char)(itsPortNumber?+?‘0‘));
????????itsPortHandle?=?CreateFile(StrCom.c_str()
????????????????????????????????GENERIC_READ?|?GENERIC_WRITE
????????????????????????????????0
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-09-02?21:47??ComClass(串口類winAPI)\
?????文件????????7224??2011-09-02?19:10??ComClass(串口類winAPI)\Com.cpp
?????文件????????3755??2011-09-02?19:20??ComClass(串口類winAPI)\Com.h
?????文件?????????444??2011-09-01?19:59??ComClass(串口類winAPI)\main.cpp
評論
共有 條評論