- UID
- 117272
- 性别
- 男
|
AD转换程序如下,不知道是什么原因,连对Vrefl的转换值都不是正确的
最终结果是highref=255;lowref的值不定,程序实在看不出来有什么问题,请高人帮忙看一下,很急,谢谢了啊
还有其它外部信号进行的AD采样也是值不定,能够采到正确值,但是也有别的结果,值不定。非常感谢
#include /* for EnableInterrupts macro */
#include /* include peripheral declarations */
/*****单片机初始化*****/
void MCUini(void)
{
/*****setup PLL clock*****/
PBWC=0X80;
PCTL&=~(0x20); // 关闭PLL以便设置PPG
PPG=0x36; // 外部时钟源9.8304MHz,总线频率7.3728MHz
// VCO频率倍数N=3,center-of-range倍数L=6
PCTL |= 0x20; // 启动PLL
while(~PBWC&0x40); // 等待PLL锁定LOCK=1
PCTL |= 0x10; // 选用PLL时钟,BCS=1
/***** ADC initialization *****/
ADCLK=0x70; // fADIC=0.9216MHz
}
void main(void)
{
char highref;
char lowref;
MCUini();
for(;;)
{
__RESET_WATCHDOG(); /* feeds the dog */
ADSCR=0x1d;
while(!ADSCR_COCO);
highref=ADRL;
ADSCR=0x1E;
while(!ADSCR_COCO);
lowref=ADRL;
}
} |
|