利用ADuC7026,ADXL345通讯主程序
0赞
发表于 7/20/2012 1:02:55 PM
阅读(4081)
#include#include "XL345.h" #include "Common.h" void delay(int i){ while(i)i--; } void putchar(unsigned char ch)/* Write character to Serial Port */ { COMTX = ch; //COMTX is an 8-bit transmit register. while(!(0x020==(COMSTA0 & 0x020))) {;} } void IRQ_Handler() __irq { if(0 != (IRQSTA & UART_BIT)) //UART Interrupt { UartInterrupt = COMIID0 ; } else if(0 != (IRQSTA & XIRQ0_BIT)) //IRQ0 Interrupt { xl345Read(6,XL345_DATAX0,buf); } } void ADuC7026_Initiate(void) { // PLL SETTING // POWKEY1 = 0x01; //Start PLL setting POWCON = 0x00; //Set PLL active mode with CD = 0 POWKEY2 = 0xF4; //Finish PLL setting // GPIO SETTING // GP1CON = 0x00002211; //Config P1.7 as GPIO P1.7(CS3), P1.1 P1.O as Com, P1.2 P1.3 as I2C, P1.6 P1.5 P1.4 as GPIO GP2CON = 0x00000000; //Config P2.7, P2.6, P2.5, P2.0 as GPIO GP1DAT = 0xD0800000; //P1.6 SDO,P1.5 SDI,P1.4 SCLK LOW P1.7(CS3) HIGH GP2DAT = 0xE1E10000; //P2.7 (CS4) P2.6(CS2) P2.5(CS1) HIGH, P2.0(EN) Output //UART Initial,Baud Rate = 115200 COMCON0 = 0x80; COMDIV0 = 0x0B; COMDIV1 = 0x00; COMCON0 = 0x07; COMDIV2 = 0x883E; //I2C Initial I2C1CFG = 0x00000082; // Master Enable & Enable Generation of Master Clock I2C1DIV = 0x3232; // 0x3232 = 400kHz 0xCFCF = 100kHz //Interrupt Set Up FIQEN = SM_MASTER1_BIT; //I2C1 Master Interrupt COMIEN0 = 0x01; //Enable Receive Buffer Full Interrupt IRQEN = UART_BIT; //Enable UART Interrupt } int main(void) { ADuC7026_Initiate(); //ADuC7026 Initialization while(1) {;} }
