📄 i2c.h
字号:
#ifndef _i2c__h__
#define _i2c__h__
#ifndef uchar
#define uchar unsigned char
#define unit unsigned int
#endif
#define WPAGE0 0xA0
#define RPAGE0 0xA1
#define WPAGE1 0xA2
#define RPAGE1 0xA3
#define WPAGE2 0xA4
#define RPAGE2 0xA5
#define WPAGE3 0xA6
#define RPAGE3 0xA7
#define WPAGE4 0xA8
#define RPAGE4 0xA9
#define WPAGE5 0xAA
#define RPAGE5 0xAB
#define WPAGE6 0xAC
#define RPAGE6 0xAD
#define WPAGE7 0xAE
#define RPAGE7 0xAF
sbit SCL=0x90; /*时钟信号P1.0*/
sbit SDA=0x91; /*数据信号P1.1*/
/*函数声明
void delay(void) ; /*延时函数*/
void I_stop(void); /*停止信号函数*/
void I_start(void); /*起始信号函数*/
void I_init(void); /*I2C总线初始化程序*/
bit I_clock(void)reentrant; /*提供i2c总线的时钟信号并返回在时钟电平为高期间SDA信号线上的状态*/
void I_ACK(void) ; /*应答信号函数*/
bit I_send(uchar ) ; /*数据发送函数*/
/*向I2C总线发送8位数据,并请求一个应答信号ACK,如果收到ACK应答,表示发送成功,并返回1*/
uchar I_receive(void) ; /*数据接收函数*/
/*从I2C总线上接收8位数据,将接收到的数据作为1个字节返回值*/
bit W_address(uchar,uchar) ;
/* 器件从地址和片内地址写入函数发出起始信号后,若地址写入成功
则返回1,否则返回0*///
////////////////////////////////////////////////////////////////////
//void wait_5ms(void) ; /*5ms延时函数*/
void wait_1ms(void) ; /*1ms延时函数*/
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
/*将映象数组中前length个字节数据写入24C16A的StartAddress前length个单元*/
void W_block(uchar , uchar , uchar * , uchar )reentrant;
////////////////////////////////////////////////////////////////////
bit Wblock(uchar , uchar , uchar * , uchar )reentrant;
//////////////////////////////////////////////////////////////////////
/*将映象数组中前length个字节数据写入24C16A的前length个单元*/
bit R_block(uchar, uchar , uchar , uchar * , uchar )reentrant;
////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -