⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iasyncserial.h

📁 用于VC的DLL库
💻 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 + -