ARM核MCU LPC2214 AD转换的问题,请指教。
做的工程中有一路电压采样,输入脚是P0.28(AIN1),程序是这样的
INT16U getAD(INT8U sel){
INT8U feq;INT32U v;
feq=PCLK/(4*1024*1024); //44236800/2/4/1024/1024=21
sel=1 < <(sel%8);
v= (0x12e < <16) |(feq < <8) | sel;
ADCR=v;
for(;;){
v=ADDR;
if((v & 0x80000000)!=0) break;
}
v=( v & 0xffff) > > 6 ;
return v;
}
。
。
。
。
g_gvvram.dy=getAD(1)*15;
。
。
对于SEL的设定,程序和说明书不符合。LPC2214DATASHEET上讲的是
ADCR 7:0 SEL
从Ain3:0(LPC2114/2124)或Ain7:0(LPC2212/2214)中选择采样和转换输入脚。在48或64脚封装中只有位3:0可置位。软件控制模式下,只有一位可被置位。硬件扫描模式下,SEL可为1~8中的任何一个值(在48或64脚封装中SEL从1~4中取值)。SEL为零时等效于为0x01。
0x01
但是我的程序中SEL算出的值是10啊,如何确定了是AIN1采样的呢
发表时间:2008年10月24日11:29:46