S3C2440 测试程序(三) ADC实验
扫描二维码
随时随地手机看文章
该实验比较简单,就是使用了S3C2440上的ADC硬件接口AIN2。
下面看下设置。
根据Datasheet,A/D转换的频率为50MHz/(prescaler+1)
eg. A/Dconverter freq. = 50MHz/(49+1) = 1MHz
Conversion time = 1/(1MHz / 5cycles) = 1/200KHz = 5 us
看下程序,我们使用了2.5MHz,所有prescaler=19
代码如下:
prescaler=19;
ADCCON=(1<<14)|(prescaler<<6)|(2<<3);
注: bit[15]:Read only, 0--A/D conversion in process 1--End of A/D conversion
bit[14]:0--Disable prescaler 1--Enable prescaler(1<<14)
bit[13:6]:the value of prescaler(prescaler<<6)
bit[5:3]:AIN channel select(2<<3)
bit[0]:1--A/D conversion starts,and cleared after the startup
rADCCON |= 0x01; 注:使能A/D转换 while(rADCCON & 0x01); 注:确认已开始转换 while(!(rADCCON & 0x8000)); 注:等待转换结束 return ( (int)rADCDAT0 & 0x3ff ); 注:取AD值