ADXL345 SPI寄存器设置
0赞
发表于 2/28/2012 10:45:09 AM
阅读(11845)
首先进行寄存器设置,以下是程序代码:
#include <ADuC7026.h>
#include "Common.h"
BYTE RXBYTE;
extern unsigned int r_data[];
unsigned char spiwrite(unsigned int data){
unsigned char r_data;
SPITX = (0xFF & (data));
while ((SPISTA & 0x08) != 0x08) ;
r_data = SPIRX;
return r_data;
}
BYTE spiread(unsigned int data){ //read 1 Byte data
SPITX = (0xFF & (data)); //Send dummy date
while ((SPISTA & 0x08) != 0x08) ;
data = SPIRX; // recieve high-byte
return data;
}
void spiMread(unsigned int data, BYTE RXCONT){ //read 1 Byte data
RXBYTE = 0x00;
while(RXBYTE<RXCONT){
SPITX = (0xFF & (data)); //Send dummy date
while ((SPISTA & 0x08) != 0x08) ;
r_data[RXBYTE] = SPIRX; // recieve high-byte
RXBYTE++;
}
}
void spiread_16bit(unsigned int data, BYTE *data_H, BYTE *data_L){ //read 16bit data
SPITX = (0xFF & (data)); //Send dummy date
while ((SPISTA & 0x08) != 0x08) ;
*data_H = SPIRX; // recieve high-byte
SPITX = (0xFF & (data)); //Send dummy data
while ((SPISTA & 0x08) != 0x08) ;
*data_L = SPIRX; // recieve low-byte
}
