⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 hi everybody enjoy hi everybody enjoy hi everybody enjoy hi everybody enjoy hi everybody enjoy hi ev
💻 C
字号:
  /***********************************************************************
 file ID                    	:main.c
 Version Number           	:
 Project Code                	:
 Project Name               	:
 Architect    			:ProjectLeader
 Designer     			:
 Author                     	:  
 Date of last updation     	:10-02-2009
 Description             	:Test routine for Evaluation board.
                                  
                                   UART0_FLAG              1 
                                   UART1_FLAG              2 
                                   UART_DBGU_FLAG          3 
                                   JOYSTIC_FLAG            4 
                                  
************************************************************************/
#include "uart_tr.h" 


unsigned int ISR_flag = 0     ;//Flag is raised by ISR of UART0
void UARt_Test();
int scan_AI();
extern void Str_Printf(char*);
extern void LED_on(int);
extern void LED_off(int);
extern void off_All_LED();
extern void Value8_Printf(int);
extern void Value16_Printf(int);
extern void SPI_transmit(int);


void  main (void)
{
  int i;

    init_all();
//  joystick_init();
    
    while(1)
    { int value;  
//      UARt_Test();
      value = scan_AI();
       for(i=0;i<500000;i++);
      SPI_transmit(value);
    }
}   

int scan_AI()
{
    CPU_INT32U data,temp,i;  
  
    
    for(i=0;i<500;i++);
    AT91C_BASE_ADC->ADC_CR |= 0x00000002 ;           //Software trigger for starting conversion.
    
    while( !(AT91C_BASE_ADC->ADC_SR & 0x00000010)) ;//wait here for conversion to complete and set EOC4 bit. 
    data = AT91C_BASE_ADC->ADC_CDR4;                //read the converted data from ch4 data register.
    temp = AT91C_BASE_ADC->ADC_LCDR;                //reading the LCDR register for ressiting the DRDY flag.
    temp++;                                         // no meaning :to avoid compiler warning. 
    Str_Printf ("\r\t Current sample------>") ; //displaying the data to serial port .
    Value16_Printf((char)data);
   
    //----------------------
 //   off_All_LED();
   
    LED_off(0);
    LED_on (1);   
       
    for(i=0;i<500000;i++);
    //  OSTimeDlyHMSM(0, 0, 0, 5);                  //conversion indication :LED 1 blinks for each soft trigger .
     LED_off(1);
   for(i=0;i<500000;i++);
    return(data);
}


void UARt_Test()
{
  
     int uart_sel = 0 ;
     char temp0;
       switch(ISR_flag)             //ISR_flag --> this flag is set by its coreesponding handlers in top_init.c
        {
        case 1 :
                uart_sel = UART0_FLAG;
                temp0 =   (char)AT91C_BASE_US0->US_RHR;
                UART0_WrByte(temp0);      //outing it to HOST
                //UART_DBG_WrByte(temp0);   //outing it to HOST
                temp0 = '\0';
                ISR_flag = 0 ;
                break;
        case 2 :
                ISR_flag = 0 ;
                break;
        case 3:
                uart_sel = UART_DBGU_FLAG ;
                temp0 =   (char)AT91C_BASE_DBGU->DBGU_RHR;
                UART_DBG_WrByte(temp0);      //outing it to HOST
                //  UART0_WrByte(temp0);      //outing it to HOST
                temp0 = '\0';
                ISR_flag = 0 ;
                break;
        case 4 :
                if(uart_sel == 1){           //Determinig which UART
                    UART0_WrByte('&'); 
                    UART0_WrByte('\n'); 
                    UART0_WrByte('\r');
                    
                    ISR_flag = 0 ;
                    uart_sel = 0;
                }
                else if ( uart_sel == 3 ){
                    UART_DBG_WrByte('&');
                    UART_DBG_WrByte('\n');
                    UART_DBG_WrByte('\r');
                    
                    ISR_flag = 0 ;
                    uart_sel = 0 ;
                } 
                break;
              
       default:
                break;
      }
        
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -