1.Use nullptr instead of NULL
If you do not support nullptr pointer, use the macro definition
#define nullptr NULL
2.Updated InputLen (v2 version InBufferSize), support openning port to change the accepted length. Changes will automatically open the serial port to perform ClearInBuffer () method
3.Add InBufferSize attributes used to set the receive buffer size, is valid only when the serial port is opened... read more
Ported from Delphi version supports the MFC class,file only two
Spcomm.h
Spcomm.cpp
SPCOMM is Delphi famous serial software, the use of multi-threaded message method to write. Online examples of many.
This version's SPCOMM based on the following features
#include "Spcomm.h"
char rev[100];
TComm Serial;
char rev[100];
void CALLBACK ReceiveData(void obj,void *Buffer, WORD BufferLength)
{
memcpy_s(rev,100,Buffer,BufferLength)
}
void SPCommDlg::OnBnClickedButton1()
{
Serial = new TComm(this);
Serial->CommName = L"COM3";
Serial->BaudRate = 9600;
Serial->ByteSize = TComm::_8;
Serial->Parity = TComm::None;
Serial->StopBits = TComm::_1;
Serial->OnReceiveData = ReceiveData;
Serial->ReadIntervalTimeout = 50;
Serial->StartComm();
}
void SPCommDlg::OnBnClickedButton2()
{
char bb[8];
bb[0]= 0x02;
bb[1]= 'E';
bb[2]= '0';
bb[3]= '0';
bb[4]= '4';
bb[5]= '0';
bb[6]= '0';
bb[7]= '0';
Serial->WriteCommData(bb,8);
}