uchar BUF[6]={0,0,0,0,0,0};
sbit SCL=P2^0; //IIC 时钟引脚定义
sbit SDA=P2^1; //IIC 数据引脚定义
#define SlaveAddress 0xA6 //定义器件在 IIC 总线中的从地址,根据 ALT ADDRESS 地
址引脚不同修改
void Single_Write_ADXL345(uchar REG_Address,uchar REG_data); //单个写入数据
uchar Single_Read_ADXL345(uchar REG_Address); //单个读取内部寄存器数据
void Multiple_Read_ADXL345(); //连续的读取内部寄存器数据
//------------------------------------
void Init_ADXL345();
void ADXL345_Start();
void ADXL345_Stop();
void ADXL345_SendACK(bit ack);
bit ADXL345_RecvACK();
void ADXL345_SendByte(uchar dat);
uchar ADXL345_RecvByte();
void ADXL345_ReadPage();
void ADXL345_WritePage();
//-----------------------------------
void main()
{
uchar devid;
delayms(500); //上电延时
Init_ADXL345(); //初始化 ADXL345
devid=Single_Read_ADXL345(0X00); //读出的数据为 0XE5,表示正确
while(1) //循环
{
Multiple_Read_ADXL345(); //连续读出数据,存储在 BUF 中
加显示部分 数据在 BUF 中 全局变量
delayms(1000); //延时
}
}
/**************************************
起始信号
**************************************/
void ADXL345_Start()
{