📄 main.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 + -