comm.cpp
来自「向串口发送数据」· C++ 代码 · 共 72 行
CPP
72 行
//COM.cpp
CCOM::CCOM()
{
}
CCOM::~CCOM()
{
}
BOOL CCOM::InitCOM()//弶巒壔孁岥
{
DCB dCB;
COMMTIMEOUTS ct;
//摼摓懪?孁岥丆涹摼摓孁岥嬪暱
hCOM = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL);
if(hCOM == INVALID_HANDLE_VALUE)
return FALSE;
//弶巒壔孁岥丆READBUFFER榓WRITEBUFFER惀梡?帺屓掕?揑?槩岹
SetupComm(hCOM, READBUFFER, WRITEBUFFER);
PurgeComm(hCOM, PURGE_TXCLEAR|PURGE_RXCLEAR);
//?抲DCB??
if(!GetCommState(hCOM, &dCB))
{
CloseHandle(hCOM);
return FALSE;
}
dCB.BaudRate = 38400;
dCB.ByteSize = 8;
dCB.Parity = NOPARITY;
dCB.StopBits = ONESTOPBIT;
if(!SetCommState(hCOM, &dCB))
{
CloseHandle(hCOM);
return FALSE;
}
//?抲挻??
ct.ReadIntervalTimeout = MAXDWORD;
ct.ReadTotalTimeoutConstant = 0;
ct.ReadTotalTimeoutMultiplier = 0;
ct.WriteTotalTimeoutConstant = 0;
ct.WriteTotalTimeoutMultiplier = 0;
if(!SetCommTimeouts(hCOM, &ct))
{
CloseHandle(hCOM);
return FALSE;
}
return TRUE;
}
BOOL CCOM::SendCOMCode(unsigned _int8 chCode[], int nNum)//幨孁岥
{
DWORD dwWritenNum;
return WriteFile(hCOM, chCode, nNum, &dwWritenNum, NULL);
}
DWORD CCOM::GetCOMData(unsigned char *pchBuffer)//?孁岥
{
DWORD dwReadNum;
ReadFile(hCOM, pchBuffer, READBUFFER, &dwReadNum, NULL);
return dwReadNum;
}
void CCOM::CloseCOM()
{
CloseHandle(hCOM);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?