i2c.h

来自「LPCARM之I2C中断读写CAT1025C++程序祥解 LPCARM之I2C中」· C头文件 代码 · 共 40 行

H
40
字号
#ifndef __I2C_H
#define __I2C_H

//-------------------------------------------

#define Fpclk       (Fcclk / 1) * 1             //VPB clock frequence , must be 1、2、4 multiples of (Fcclk / 4).
#define Fi2c        10000//50000//SMBUS总线通讯率为50KBPS



class I2cObj;
class I2cObj {//系统通讯类
public:
  I2cObj(void);
private:
  void I2cInit(void);
public:
  void Start(void);
  void REStart(void);
  void Exit(void);
  void Stop(void);
  void Exec(void);
  unsigned char ReadByte(unsigned char, unsigned char &);
  unsigned char WriteByte(unsigned char, unsigned char);
  unsigned char ReadBlock(unsigned char, unsigned int);
  unsigned char WriteBlock(unsigned char, unsigned int);
public:
  volatile bool Busy;
  volatile unsigned int state;
  volatile unsigned int Count; 
  volatile unsigned int MainCount, SubCount; 
  volatile unsigned char SubAddr;
  volatile unsigned char MainComm, SubComm;
  volatile unsigned char TxBuffer[16], RxBuffer[16];//接收数据缓冲区
};


#endif  // __I2C_H

⌨️ 快捷键说明

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