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

📄 wio.h

📁 通过PC并口模拟I2C信号
💻 H
字号:
// Wio.h: CWio 僋儔僗偺僀儞僞乕僼僃僀僗
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WIO_H__833D3985_A8BB_441F_9F9E_856AB6A7C453__INCLUDED_)
#define AFX_WIO_H__833D3985_A8BB_441F_9F9E_856AB6A7C453__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


// WinIo.DLL exports 8 functions:
typedef void (CALLBACK* LPFNDLLINITIALIZEWINIO)();
typedef void (CALLBACK* LPFNDLLSHUTDOWNWINIO)();
typedef bool (CALLBACK* LPFNDLLGETPORTVAL)(WORD,PDWORD,BYTE);
typedef bool (CALLBACK* LPFNDLLSETPORTVAL)(WORD,DWORD,BYTE);
typedef PBYTE (CALLBACK* LPFNDLLMAPPHYSTOLIN)(PBYTE,DWORD,HANDLE);
typedef bool (CALLBACK* LPFNDLLUNMAPPHYSICALMEMORY)(HANDLE,PBYTE);
typedef bool (CALLBACK* LPFNDLLGETPHYSLONG)(PBYTE,PDWORD);
typedef bool (CALLBACK* LPFNDLLSETPHYSLONG)(PBYTE,DWORD);


class CWio  
{
public:
	DWORD check_win_os();
	int check_dll();
	CWio();
	virtual ~CWio();
	int Init();						// 弶婜壔
	void End();						// 廔椆張棟
	bool ReadPort( BYTE & );
	bool WritePort( BYTE byteData );
	bool ReadPort( BYTE &, WORD wPort );
	bool WritePort( BYTE byData, WORD wPort );
	WORD GetLptPort();				// LPT億乕僩(Data Port)偺妉摼
	void SetLptPort( WORD wPort, BOOL bSetOnly = FALSE );	// LPT億乕僩偺愝掕

#if 1		// public偱巊梡
	BOOL	isNT();				// "NT枖偼2000"偱偁傞偐偺敾抐
#endif

private:
	HINSTANCE m_hDLL;       // Handle to DLL
	// Function pointer
	LPFNDLLINITIALIZEWINIO	m_lpfnDllInitializeWinIo;
	LPFNDLLSHUTDOWNWINIO	m_lpfnDllShutdownWinIo;
	LPFNDLLGETPORTVAL		m_lpfnDllGetPortVal;
	LPFNDLLSETPORTVAL		m_lpfnDllSetPortVal;
	LPFNDLLMAPPHYSTOLIN		m_lpfnDllMapPhysToLin;
	LPFNDLLUNMAPPHYSICALMEMORY	m_lpfnDllUnmapPhysicalMemory;
	LPFNDLLGETPHYSLONG		m_lpfnDllGetPhysLong;
	LPFNDLLSETPHYSLONG		m_lpfnDllSetPhysLong;

#if 0		// WinIo.dll v1.3 傛傝晄梫
//#if 1		// WinIo.dll v1.3 傛傝晄梫
	BOOL	isNT();				// "NT枖偼2000"偱偁傞偐偺敾抐
#endif

	WORD	m_wDataPort;		// LPT 僨乕僞億乕僩(eg. 0x0378h)
	WORD	m_wStatusPort;		// LPT 僗僥乕僞僗億乕僩(eg. 0x0379h)

	BYTE	m_InitialDataPort;	// LPT僨乕僞億乕僩偺弶婜抣曐帩梡(廔椆帪偵栠偡)
};

#endif // !defined(AFX_WIO_H__833D3985_A8BB_441F_9F9E_856AB6A7C453__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -