freedomhit

ADXL345数据读出主程序(二)寄存器配置

0
阅读(5827)
/*    Function Pointers for Interrupts  */
typedef void (* tyVctHndlr) (void);

tyVctHndlr    IRQ     = (tyVctHndlr)0x0;
tyVctHndlr    SWI     = (tyVctHndlr)0x0;
tyVctHndlr    FIQ     = (tyVctHndlr)0x0;
tyVctHndlr    UNDEF   = (tyVctHndlr)0x0;
tyVctHndlr    PABORT  = (tyVctHndlr)0x0;
tyVctHndlr    DABORT  = (tyVctHndlr)0x0;

void	IRQ_Handler   (void) __irq;
void	SWI_Handler   (void) __irq;
void	FIQ_Handler   (void) __irq;
void	Undef_Handler (void) __irq;
void	PAbt_Handler  (void) __irq;
void	DAbt_Handler  (void) __irq;

void	IRQ_Handler(void) __irq
{
	if ( *IRQ !=0x00)
	{
		IRQ();
	}
}

void	FIQ_Handler(void) __irq
{
	if ( *FIQ !=0x00)
	{
		FIQ();
	}
}

void	SWI_Handler(void) __irq
{
	if ( *SWI !=0x00)
	{
		SWI();
	}
}

void	Undef_Handler(void)__irq 
{
	if ( *UNDEF !=0x00)
	{
		UNDEF();
	}
}

void	PAbt_Handler(void) __irq
{
	if ( *PABORT !=0x00)
	{
		PABORT();
	}
}

void	DAbt_Handler(void) __irq
{
	if ( *DABORT !=0x00)
	{
		DABORT();
	}
}

#include "main.h"
//#include "irq_arm.c"
#include "IIC.h"

uchar ge,shi,bai,qian,wan; 	

void conversion(unsigned int temp_data)  
{  
    wan=temp_data/10000+'0' ;
    temp_data=temp_data%10000;   //取余运算
	qian=temp_data/1000+'0' ;
    temp_data=temp_data%1000;    //取余运算
    bai=temp_data/100+'0' ;
    temp_data=temp_data%100;     //取余运算
    shi=temp_data/10+'0'    ;
    temp_data=temp_data%10;      //取余运算
    ge=temp_data+'0'; 	
}	

int main()
{	  
     lcd_initial(); 
	 LCD_Delay(10);
   	 Init_IIC();	
	 
	 while(1)
	{ 
	//	km= Value_ADXL345() ;
    //	conversion();
		
	 	disp_str(0,0,"hello STI !");
		
	 	Value_ADXL345();
	//	disp_word(10,5,wan);
	//	disp_word(18,5,qian);
	//	disp_word(26,5,bai);
	//	disp_word(34,5,shi);
	//	disp_word(42,5,ge);
	   
    	 clear_screen(0); 
		 delay(100000);	
	} 
		
}
#include 
#include  	
//extern int write (int file, char * ptr, int len);	// Functions used to 
//extern int getchar (void);							// to output data 	 
//extern int putchar(int);                     		// Write character to Serial Port  
#include "serial.h"

int main (void)  {
//  unsigned char jchar = 0x30;

	char output1[13] = "Hello World\n";
	
	// Setup tx & rx pins on P1.0 and P1.1
	GP1CON = 0x011;

   	// Start setting up UART at 9600bps
   	COMCON0 = 0x080;				// Setting DLAB
   	COMDIV0 = 0x088;				// Setting DIV0 and DIV1 to DL calculated
   	COMDIV1 = 0x000;
   	COMCON0 = 0x003;				// Clearing DLAB

	GP4DAT = 0x04000000;			// P4.2 configured as an output. LED is turned on

	while(1)
	{

		GP4DAT ^= 0x00040000;		// Complement P4.2
		write(0,output1,13);		// Output Data
//		jchar = getchar();			// RX Data, Single Byte
//		write(0,&jchar,1);			// Output Rxed Data
	}
}
/***********************************************************************/
/*                                                                     */
/*  SERIAL.C:  Low Level Serial Routines                               */
/*                                                                     */
/***********************************************************************/

#include                       /* ADuC7024 definitions          */
#include "serial.h"
#define CR     0x0D

int putchar(int ch)  {                   /* Write character to Serial Port  */

	if (ch == '\n')  {
    	while(!(0x020==(COMSTA0 & 0x020)))
    	{}
		COMTX = CR;							/* output CR */
		}
    while(!(0x020==(COMSTA0 & 0x020)))
    {}
 
 	return (COMTX = ch);
}


int getchar (void)  {                      /* Read character from Serial Port */

   	while(!(0x01==(COMSTA0 & 0x01)))
   	{}
  	return (COMRX);
}

int write (int file, char * ptr, int len) {
  int i;

  for (i = 0; i < len; i++) putchar (*ptr++);
  return len;
}