默れ

SPI通讯主程序

0
阅读(2615)

使用四线制SPI通讯,主程序代码如下:

 #include <ADuC7026.h>

#include "Common.h"  
 
void SPI_ADXL345_WRITE(BYTE adress, BYTE data){
 
    GP2CLR = 0x800000;                   //CS4 = LOW
    delay(1);                            //CS to SCLK set up time
    spiwrite(adress);           //adress
    spiwrite(data);                      //data to be written
    delay(1);                            //CS to SCLK set up time
    GP2SET = 0x800000;                   //CS4 = High
    delay(1);                       //Wait Time
 
}
 
unsigned char SPI_ADXL345_READ(BYTE adress){
 
    unsigned char result;
 
    GP2CLR = 0x800000;                   //CS4 = LOW
    delay(1);                            //CS to SCLK set up time
    spiwrite(adress+0x80);           //adress
    result = spiread(0x00);              //Read 8bit data (Send Dummy data 0x00)
    delay (1);                           //CS to SCLK set up time
    GP2SET = 0x800000;                   //CS4 = High
    delay(1);                   //Wait Time
 
    return result;
 
}
 
void SPI_ADXL345_M_READ(BYTE adress, BYTE RXCONT){
 
    GP2CLR = 0x800000;                   //CS4 = LOW
    delay(1);                            //CS to SCLK set up time
    spiwrite(adress+0xC0);               //adress in burst read mode
 
    spiMread(0xFF, RXCONT);
 
    delay (1);                           //CS to SCLK set up time
    GP2SET = 0x800000;                   //CS4 = High
    delay(1);                   //Wait Time
 
}