📄 iasyncserial.h
字号:
// IAsyncSerial.h: interface for the CIAsyncSerial class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_IASYNCSERIAL_H__75AD6FF1_41A6_4E58_9C8E_F12129323E96__INCLUDED_)
#define AFX_IASYNCSERIAL_H__75AD6FF1_41A6_4E58_9C8E_F12129323E96__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//////////////////////////////////////////////////////////////////////////
//串口校验方式
enum nParity
{
EvenParity = 2,
MarkParity = 3,
NoParity = 0,
OddParity = 1,
SpaceParity = 4
};
//串口停止位
enum StopBit
{
OneStopBit = 0,
OnePointFiveStopBits = 1,
TwoStopBits = 2
};
//////////////////////////////////////////////////////////////////////////
class CAsyncSerial;
class AFX_EXT_CLASS CIAsyncSerial
{
public:
//////////////////////////////////////////////////////////////////////////
//从串口读取数据
//@param1 : VOID * pBuf --返回的数据,最大为512
//@param2 : DWORD dwTime --读取等待事件,单位:秒
//////////////////////////////////////////////////////////////////////////
VOID Read(VOID * pBuf, DWORD dwTime = 3);
//////////////////////////////////////////////////////////////////////////
//设置串口发送模式
//@param1 : BOOL bMode--选择发送模式
// TRUE:二进制发送,FALSE:字符发送, 默认字符发送模式
//@return : BOOL --设置是否成功
//////////////////////////////////////////////////////////////////////////
BOOL SetSendMode(BOOL bMode);
//////////////////////////////////////////////////////////////////////////
//读取数据
//@param1 : VOID * pBuff --需要读取的数据,最大为512
//////////////////////////////////////////////////////////////////////////
VOID Read(VOID * pBuff);
//////////////////////////////////////////////////////////////////////////
//发送数据命令
//@param1 : VOID *lpBuf --需要发送的命令
//@param2 : DWORD Count --发送命令的字节数,最大512
//@param3 : BOOL bReturn --是否立即返回 TRUE:立即返回 FALSE:发送完返回
//@return : DWORD --返回实际发送的字节数,如果发送失败,则返回-1
//////////////////////////////////////////////////////////////////////////
DWORD SendCmd(VOID *lpBuf, DWORD Count, BOOL bReturn = TRUE);
//////////////////////////////////////////////////////////////////////////
//关闭串口
//@return : BOOL --串口是否关闭
//////////////////////////////////////////////////////////////////////////
BOOL Close();
//////////////////////////////////////////////////////////////////////////
//判断串口是否打开
//@return : BOOL --串口是否打开 TRUE:打开, FALSE:关闭
//////////////////////////////////////////////////////////////////////////
BOOL isOpen();
//////////////////////////////////////////////////////////////////////////
//打开串口,如果没有打开,从GetError返回错误信息
//@param1 : int nPort --需要打开的串口号
//@param2 : DWORD dwBaud = 9600 --设置串口波特率
//@param3 : Parity parity = NoParity --设置串口校验方式
//@param4 : BYTE DataBits = 8 --设置串口数据位
//@param5 : StopBits stopbits = OneStopBit --设置串口停止位
//@return : BOOL --返回串口是否打开成功
//////////////////////////////////////////////////////////////////////////
BOOL Open(int nPort, DWORD dwBaud = 9600
, nParity parity = NoParity
, BYTE DataBits = 8
, StopBit stopbits = OneStopBit);
//////////////////////////////////////////////////////////////////////////
CIAsyncSerial();
~CIAsyncSerial();
private:
CAsyncSerial * lpSerial; //实际的串口类
};
#endif // !defined(AFX_IASYNCSERIAL_H__75AD6FF1_41A6_4E58_9C8E_F12129323E96__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -