|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2012-3-5 11:41:40
|
显示全部楼层
void ACC_SPI_INIT(void)
{
DDRB=0B10110001;
//spi初始化
SPCR = (1<<SPE)|(1<<MSTR)|(1<<CPOL)|(1<<CPHA)|(1<<SPR0)|(1<<SPR1)|(1<<SPI2X);
SPSR = 0x00;
}
///////////////ACCELEROMETER //////////////
void ADXL345_INIT(void){
ACC_SPI_INIT();
delay10us(); delay10us(); delay10us(); delay10us();
writeRegister(0x31,0x04);
delay10us(); delay10us(); delay10us(); delay10us();
writeRegister(0x2d,0x08);
//writeRegister(0x2e,0x80);
}
//读取X轴加速度
void ADXL345_read_x(unsigned int *x)
{
unsigned char low, high;
low = readRegister(0x32);
high = readRegister(0x33);
* x = (((unsigned int)high)<<8)|low;
}
if(T10ms>9)
{
T10ms=0;
uchar SendArr[4];
volatile int temp;
ADXL345_read_x(&temp);
SendArr[0]=temp;
SendArr[1]=temp/255;
ADXL345_read_y(&temp);
SendArr[2]=temp;
SendArr[3]=temp/255;
put_c(0xaa);
put_c(0x01);
put_c(SendArr[0]);
put_c(SendArr[1]);
put_c(SendArr[2]);
put_c(SendArr[3]);
put_c(0xff);
} |
|