📄 adc_test.c
字号:
/*****************************************************************************
* adctest.c: main C entry file for NXP LPC23xx Family Microprocessors
*
* Copyright(C) 2006, NXP Semiconductor
* All rights reserved.
*
* History
* 2006.08.16 ver 1.00 Prelimnary version, first Release
*
******************************************************************************/
#include "LPC2468.h" /* LPC23xx definitions */
#include "type.h"
#include "target.h"
#include "irq.h"
#include "adc.h"
#include "uart0.h"
#include "timer.h"
extern volatile DWORD ADC0Value[ADC_NUM];
extern volatile DWORD ADC0IntDone;
void UART_print(DWORD Num) // 将10位数据转为BCD码输出
{
char tmp[5],rest;
rest = Num / 0x100;Num = Num % 0x100;
tmp[0]=(rest > 9)?0x37+rest:0x30+rest;
rest = Num / 0x10;Num = Num % 0x10;
tmp[1]=(rest > 9)?0x37+rest:0x30+rest;
rest = Num ;
tmp[2]=(rest > 9)?0x37+rest:0x30+rest;
tmp[3] = 0x20;tmp[4] = '\0';
UART0_puts(tmp);
}
/*****************************************************************************
** Main Function main()
******************************************************************************/
int main (void)
{
DWORD i;
TargetResetInit();
UART0Init(9600);
enable_timer(0);
/* Initialize ADC */
ADCInit( ADC_CLK );
#if ADC_INTERRUPT_FLAG /* Interrupt driven */
for ( i = 0; i < ADC_NUM; i++ )
{
ADC0Read( i );
while ( !ADC0IntDone );
ADC0IntDone = 0;
}
#else /* Polling */
while(1)
{
for ( i = 0; i < ADC_NUM; i++ )
{
ADC0Value[i] = ADC0Read( i );
if(i == 0)
{
UART0_puts("The value is : ");
UART0_PrintNum(ADC0Value[i],16); /* 只采了这一路 */
UART0_puts("\r\n");
}
}
delayMs(0,1000);
}
#endif
return 0;
}
/*****************************************************************************
** End Of File
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -