mst705Ȧ

来自「MST705源代码」· 代码 · 共 45 行

TXT
45
字号
#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)  	((is_hl==_HIGH)?(P4|=_BIT3):(P4&=~_BIT3))//hwI2C_SCL_Pin=is_hl
#define i2cSetSDA(is_hl)	((is_hl==_HIGH)?(P4|=_BIT2):(P4&=~_BIT2))//hwI2C_SDA_Pin=is_hl

#define i2cSCL_PIN_STATUS()	((P4&_BIT3) ? 1:0)//hwI2C_SCL_Pin_STATUS
#define i2cSDA_PIN_STATUS() ((P4&_BIT2) ? 1:0)//hwI2C_SDA_Pin_STATUS
*/
#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 + =
减小字号Ctrl + -
显示快捷键?