adc.c

来自「pulse width modulation code using servo 」· C语言 代码 · 共 32 行

C
32
字号
#include <LPC21xx.H> // LPC21xx definitions
extern void UART0_Init(void);
extern void Print(unsigned short w);
extern void PrintString(const char *s);
static unsigned short ADC_Read(unsigned char ch)
{
unsigned int i;
ADCR = 0x00200300 | ch; // Init ADC (Pclk = 12MHz) and select channel
ADCR |= 0x01000000; // Start A/D Conversion
do
{
i = ADDR; // Read A/D Data Register
	} while ((i & 0x80000000) == 0); // Wait for end of A/D Conversion
	return (i >> 6) & 0x03FF; // bit 6:15 is 10 bit AD value
}
int main(void)
{
	UART0_Init(); // Initialize UART0
	PrintString("\nLPC2129 ADC test:\n\n"
	"AIN0 AIN1 AIN2 AIN3\n\n");
while (1)
{
	Print(ADC_Read(1)); // convert and print channel AIN0
	PrintString(" ");
	Print(ADC_Read(2)); // convert and print channel AIN1
	PrintString(" ");
	Print(ADC_Read(4)); // convert and print channel AIN2
	PrintString(" ");
	Print(ADC_Read(8)); // convert and print channel AIN3
	PrintString("\r");
}
}

⌨️ 快捷键说明

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