📄 i2cexprt.h
字号:
#include <reg922.h>
/*
_sfrbyte TRIM _at(0x96);
_sfrbyte P1M1 _at(0x91);
_sfrbyte P1M2 _at(0x92);
_sfrbyte P3M1 _at(0xb1);
_sfrbyte P3M2 _at(0xb2);
_sfrbyte BRGCON _at(0xbd);
_sfrbyte BRGR0 _at(0xbe);
_sfrbyte BRGR1 _at(0xbf);
_sfrbyte I2ADR _at(0xdb);
_sfrbyte I2CON _at(0xd8);
_sfrbyte I2DAT _at(0xda);
_sfrbyte I2SCLH _at(0xdd);
_sfrbyte I2SCLL _at(0xdc);
_sfrbyte I2STAT _at(0xd9);
_sfrbyte IEN1 _at(0xe8);
_sfrbit EI2C _atbit(IEN1,0);
#define Led P1_7 /* microcore board led */
sbit Led= P1^7;
/******************************************************/
/* E X P O R T E D D A T A S T R U C T U R E S */
/******************************************************/
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long LONG;
typedef struct
{
BYTE address;
BYTE nrBytes;
BYTE *buf;
} I2C_MESSAGE;
typedef struct
{
BYTE nrMessages;
I2C_MESSAGE **p_message;
} I2C_TRANSFER;
/******************************************************/
/* E X P O R T E D D A T A D E C L A R A T I O N S */
/******************************************************/
/**** Status Errors ****/
#define I2C_OK 0 /* transfer ended No Errors */
#define I2C_BUSY 1 /* transfer busy */
#define I2C_ERR 2 /* err: general error */
#define I2C_NO_DATA 3 /* err: No data in block */
#define I2C_NACK_ON_DATA 4 /* err: Nack on data */
#define I2C_NACK_ON_ADDRESS 5 /* err: Nack on addr */
#define I2C_NOT_PRESENT 6 /* Device not present */
#define I2C_ARBITRATION_LOST 7 /* Arbitration lost */
#define I2C_TIME_OUT 8 /* Time out occurred */
#define I2C_SLAVE_ERROR 9 /* slave mode error */
#define I2C_INIT_ERROR 10 /* Init (not done) */
/******************************************************/
/* F U N C T I O N P R O T O T Y P E S */
/******************************************************/
extern void I2C_Transfer(I2C_TRANSFER *p);
extern void I2C_Init(void);
extern void I2C_Ready(BYTE status, BYTE nr);
extern void I2C_Write(I2C_MESSAGE *msg);
extern void I2C_WriteRepWrite(I2C_MESSAGE *msg1,I2C_MESSAGE *msg2);
extern void I2C_WriteRepRead(I2C_MESSAGE *msg1,I2C_MESSAGE *msg2);
extern void I2C_Read(I2C_MESSAGE *msg);
extern void I2C_ReadRepRead(I2C_MESSAGE *msg1,I2C_MESSAGE *msg2);
extern void I2C_ReadRepWrite(I2C_MESSAGE *msg1,I2C_MESSAGE *msg2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -