📄 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 + -