📄 adc.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -