📄 i2c.h.bak
字号:
//定义函数
void I2C_Initial(void);
void I2C_Set_sda_high(void);
void I2C_Set_sda_low (void);
void I2C_Set_sck_high(void);
void I2C_Set_sck_low (void);
int I2C_GetACK(void);
void I2C_SetACK(void);
void I2C_SetNAk(void);
void I2C_START(void);
void I2C_STOP(void);
void I2C_TxHToL(int);
void I2C_TxLToH(int);
int I2C_RxByte(void);
int I2C_RxHToL(void);
void Delay_ms(unsigned long nValue);
void Delay_us(unsigned long nValue);
void readByte24AA64(int addr,unsigned char *reby_p);
void writeByte24AA64(int addr,unsigned char *wrby_p);
int readPage24AA64(int addr,unsigned char *repa_p,int len);
void writePage24AA64(int addr,unsigned char *wrpa_p,int len);
unsigned char data_check(unsigned char *Data_REF, unsigned char *Data_CHK, unsigned char n);
void I2C_CLR(void);
#define uchar unsigned char
#define uint unsigned int
#define XF_MCU 0 //定义用哪一种单片机,1时,用于PIC; 0时,用于MSP430;
#if XF_MCU==0
#include<msp430x14x.h>
#define IIC_DIR P6DIR
#define IIC_OUT P6OUT
#define IIC_IN P6IN
#define SCL BIT2
#define SDA BIT1
#define LC24_SDA BIT1
#define SDA_MOV_BIT 1 //SDA 数据调整移位
//根据SDA所在管脚,如为0脚,则为0,如为7脚,则为7,
//--------------------------------------
//SDA 数据线定义
#define SDAOUT IIC_DIR |= SDA
#define SDAIN IIC_DIR &= ~SDA
#define SDA1 IIC_OUT |= SDA
#define SDA0 IIC_OUT &= ~SDA
//SCL 时钟线定义
#define SCLOUT IIC_DIR |= SCL
#define SCL1 IIC_OUT |= SCL
#define SCL0 IIC_OUT &= ~SCL
#define SDA_STATE IIC_IN & SDA //读入SDA状态
//--------------------------------------
#define OPE_INT _EINT() //开中断
#define NOT_INT _DINT() //关中断
#define NOP() _NOP()
#else
#include<pic.h>
extern uchar pa_out;
extern uchar pb_out;
extern uchar pc_out;
extern uchar pd_out;
extern uchar pe_out;
#define LC24_TEMP pc_out
#define LC24_SDA 0B00010000 //io所属管脚位;0b00000001
#define LC24_SCL 0B00001000 //clk所属管脚位;0b00000010
#define SDA_MOV_BIT 4 //SDA 数据调整移位
//根据SDA所在管脚,如为0脚,则为0,如为7脚,则为7,
#define LC24_SDA_0 ~LC24_SDA
#define LC24_SDA_1 LC24_SDA
#define LC24_SCL_0 ~LC24_SCL
#define LC24_SCL_1 LC24_SCL
#define LC24_DIR TRISC
#define LC24_OUT PORTC
#define SDA_STATE LC24_OUT&LC24_SDA //读入SDA状态
//--------------------------------------
//SDA 数据线定义
#define SDAIN LC24_DIR |= LC24_SDA
#define SDAOUT LC24_DIR &= ~LC24_SDA
#define SDA1 LC24_OUT=(LC24_TEMP|= LC24_SDA)
#define SDA0 LC24_OUT=(LC24_TEMP&= ~LC24_SDA)
//SCL 时钟线定义
#define SCLOUT LC24_DIR &= ~LC24_SCL
#define SCL1 LC24_OUT =(LC24_TEMP|= LC24_SCL)
#define SCL0 LC24_OUT =(LC24_TEMP&= ~LC24_SCL)
#define OPE_INT ei() //开中断
#define NOT_INT di() //关中断
#endif
//写入AT24C02数据表
extern unsigned char wr_buf[8];
//unsigned char write_table=25; //写入单字节时
//读出AT24C02数据缓冲区
extern unsigned char re_buf[8];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -