|
【玩转ADuCM360】 自己做的ADuCM360 ADC初始化程序-----芯片由VOCO_2000网友提供
[复制链接]
测量电压已基本正常,ADC可以正常工作了,连续模式。
1、将ADI的ADUCM360的头文件中,凡是加了“ADI_”的,都去掉了。觉得烦人,
2、原来使用ADI提供的函数,觉得不明了,调用需要一至两层,需要压栈什么的。所以就直接使用它定义的结构体了,简单、执行速度快。
3、从程序中可以看出,使用的是原来公布的电路中的T9接出点
void AdcInit(void)
{
// Adc ADCCON and ADCMDE
//AdcGo(pADC0,ADCMDE_ADCMD_IDLE); // Place ADC0 in Idle mode
pADC0->MDE = ADCMDE_ADCMD_IDLE;
pADC0->CON = ADCCON_ADCEN_EN | // bit 19, Power up
ADCCON_ADCCODE_UINT | // bit 18, Unipolar.
ADCCON_BUFPOWN_EN | // 17, Negative buffer powered down.
ADCCON_BUFPOWP_EN | // 16, Positive buffer powered down
ADCCON_BUFBYPP_EN | // 15, Positive buffer bypassed
ADCCON_BUFBYPN_EN | // 14, Negative buffer bypassed.
ADCCON_ADCREF_INTREF | // 12, =0, INTREF-AGND.
ADCCON_ADCDIAG_DIAG_OFF | // 10, =0, Current source off
ADCCON_ADCCP_AIN10 | // 5
ADCCON_ADCCN_AGND;
pADC0->MSKI = ADCMSKI_RDY_EN; // Enable an interrupt when the ADCxRDY bit is set.
//pADC0->ADCCFG =
pADC0->FLT = ADCFLT_SINC4EN_EN |
0x7D;
//pANA->REFCTRL =
//pANA->IEXCCON = 0x47;
pANA->REFCTRL = 0;
//pANA->IEXCDAT = IEXCDAT_IDAT_500uA;
pADC0->MDE = 1; // Continuous Convert Mode
}
[ 本帖最后由 dontium 于 2013-4-27 14:49 编辑 ]
|
|