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

📄 i2c.h

📁 I2C.H,I2C通信头文件类的设置,请参考
💻 H
字号:
// I2C.h: interface for the I2C class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_I2C_H__88C8F03C_C61A_4782_BAF6_4676BB02CD4A__INCLUDED_)
#define AFX_I2C_H__88C8F03C_C61A_4782_BAF6_4676BB02CD4A__INCLUDED_

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

class I2C  
{
public:
	I2C();
	virtual ~I2C();
	bool WriteData(UCHAR i2cAddr, UCHAR regAddr, UCHAR *pSendData, int n);
	bool ReadData(UCHAR i2cAddr, UCHAR regAddr, UCHAR *pReadData, int n);
	//bool WriteData1(UCHAR i2cAddr, UCHAR regAddr, UCHAR *pSendData, int n);
	//bool WriteData2(UCHAR i2cAddr, UCHAR regAddr, UCHAR *pSendData, int n);

private:
	void ReadLPTStateData();
	
	void SetSCL();
	void ClrSCL();
	void SetSDA();
	void ClrSDA();
	
	void Start();
	void ReStart();
	void Stop();
	void SendByte();
	void ReceiveByte();
	bool WaitACK();
	void SendACK();
	void SendNotACK();

	void Delay(UINT i);


	ULONG m_LPTDataAddr;    // 数据寄存器地址
	ULONG m_LPTStatusAddr;  // 状态寄存器地址
	ULONG m_LPTControlAddr; // 控制寄存器地址

	UCHAR m_readByte;   // read byte
	UCHAR m_sendByte;    // send byte

	ULONG m_LPTaddr; // 选择的LPT地址

	UCHAR m_SCL;   // I2C CLOCK
	UCHAR m_SDA;   // I2C SDA OUT
	UCHAR m_SDAIn;  // I2C SDA IN
	//UCHAR m_SDAIn1;
};

#endif // !defined(AFX_I2C_H__88C8F03C_C61A_4782_BAF6_4676BB02CD4A__INCLUDED_)

⌨️ 快捷键说明

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