void main(void)
{
uchar devid=0;
int x,y,z;//保存加速度数据
INIT_msp430();//初始化单片机
// __bis_SR_register(LPM0_bits); // 进入低功耗模式
//////////////////////////////////////////////////
delay(500); //上电延时
Init_ADXL345(); //初始化ADXL345
while(devid!=0xe5)
devid=Single_ReadI2C(0X00); //读出的数据为0XE5(器件ID代码),表示通信序列正确;
//////////////////////////////////////////////
while(1)
{
// TimerA_UART_tx(0x01);
// TimerA_UART_print("G2xx1 TimerA UART\r\n");
//-----------------------------------------//
Single_ReadI2C(ACT_TAP_STATUS);//中断清零前,应读取ACT_TAP_STATUS寄存器
Single_ReadI2C(INT_SOURCE); //清中断标志
//采样数值×3.9/1000为实际加速度数值
Multiple_read_ADXL345(); //连续读出数据,存储在BUF中
//show x
x=(BUF[1]<<8)+BUF[0]; //合成数据
// display(x);
//show y
y=(BUF[3]<<8)+BUF[2]; //合成数据
// display(y);
//show z
z=(BUF[5]<<8)+BUF[4]; //合成数据
// display(z);
// TimerA_UART_tx('\n'); //换行
//-------------------------------------//
judge(x,y,z);//运动判断
delay(20); //延时 |