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

📄 i2c.h

📁 主要用于液晶电视解码,内置51单片机,全部代码用C编写,编译环境为KEILC
💻 H
字号:
#ifndef _I2C_H_
#define _I2C_H_

#ifdef _I2C_C_
  #define _I2CDEC_
#else
  #define _I2CDEC_ extern
#endif


typedef enum i2c_direction
{ I2C_WRITE,
  I2C_READ
} I2C_Direction;

#define I2C_DEVICE_ADR_WRITE(slave_adr)   (slave_adr & ~_BIT0)
#define I2C_DEVICE_ADR_READ(slave_adr)    (slave_adr | _BIT0)
#define I2C_ACCESS_DUMMY_TIME   		  10

#define i2cSetSCL(is_hl)  	hwI2C_SCL_Pin=is_hl
#define i2cSetSDA(is_hl)	hwI2C_SDA_Pin=is_hl

#define i2cSCL_PIN_STATUS()	hwI2C_SCL_Pin_STATUS
#define i2cSDA_PIN_STATUS() hwI2C_SDA_Pin_STATUS

_I2CDEC_ void i2c_WriteTBL(BYTE deviceID, WORD addr, BYTE *buffer, BYTE count);
//_I2CDEC_ void i2c_ReadTBL(BYTE deviceID, WORD addr, BYTE *buffer, BYTE count);
_I2CDEC_ void FlashSectorErase(WORD SectorAddr );
_I2CDEC_ BOOL i2c_Start(void);
_I2CDEC_ BOOL i2c_SendByte(BYTE ucVal);
_I2CDEC_ void i2c_Stop(void);
_I2CDEC_ BYTE i2c_ReceiveByte(BOOL bAck);
_I2CDEC_ void i2cBurstCurrentBytes(BYTE ucSlaveAdr, BYTE *pBuf, BYTE ucBufLen);
_I2CDEC_ void i2cWriteByte(BYTE deviceID, BYTE addr, BYTE value);
_I2CDEC_ void i2cBurstReadBytes(BYTE ucSlaveAdr, BYTE ucSubAdr, BYTE *pBuf, BYTE ucBufLen);
_I2CDEC_ void i2cBurstWriteBytes(BYTE ucSlaveAdr, BYTE ucSubAdr, BYTE *pBuf, BYTE ucBufLen);
_I2CDEC_ BOOL i2c_AccessStart(BYTE ucSlaveAdr, I2C_Direction trans_t);
#endif

⌨️ 快捷键说明

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