1.看原理图
找到通道 AIN3
2.看数据手册
ADCCON:
ADCDAT:
ADCMUX:
代码:
#define ADCCON (*(volatile unsigned int *)0x126C0000)
#define ADCDAT (*(volatile unsigned int *)0x126C000C)
#define ADCMUX (*(volatile unsigned int *)0x126C001C)
//延时
void mydelay(int x)
{
int i;
while(x--)
{
for(i=1000;i>0;i--);
}
}
int main(int argc, char *argv[])
{
ADC_Init();
while(1)
{
ADCCON |= 0x1; //开始转换
while((ADCCON & (0x1 << 15)) == 0);//等待转换完成
//1.8v -> 4096 v -> val => v = 1800mv*val / 4096 (mv)
int retval = ADCDAT & 0xfff;//读取转换结果
int voltage = 1800*(retval+1) / 4096;
put_int(voltage);
mydelay(500);
}