| 
 
| ADC级联过采样模式中的测试程序为什么要这样写呢? for (i=0; i<(BUF_SIZE/16); i++)
 {
 // Wait for int1
 while (AdcRegs.ADCST.bit.INT_SEQ1== 0){}//等待本次序列结束
 GpioDataRegs.GPASET.bit.GPIO0 = 1;  // Set GPIO60 for monitoring  -optional
 
 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;  //清除中断信号
 
 #if INLINE_SHIFT       //当数据从结果寄存器中取出时的移动结果
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT0)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT1)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT2)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT3)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT4)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT5)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT6)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT7)>>4);
 
 #endif //-- INLINE_SHIFT
 
 #if NO_SHIFT || POST_SHIFT
 
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT0));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT1));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT2));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT3));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT4));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT5));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT6));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT7));
 
 #endif //-- NO_SHIFT || POST_SHIFT
 
 while (AdcRegs.ADCST.bit.INT_SEQ1== 0){}
 GpioDataRegs.GPACLEAR.bit.GPIO0 = 1;  // Clear GPIO0 for monitoring  -optional
 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
 
 #if INLINE_SHIFT
 
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT8)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT9)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT10)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT11)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT12)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT13)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT14)>>4);
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT15)>>4);
 
 #endif //-- INLINE_SHIFT
 
 #if NO_SHIFT || POST_SHIFT
 
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT8));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT9));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT10));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT11));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT12));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT13));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT14));
 SampleTable[array_index++]= ( (AdcRegs.ADCRESULT15));
 #endif // -- NO_SHIFT || POST_SHIFT
 
 }
 
 
 #if POST_SHIFT
 // For post shifting, shift the ADC results
 // in the SampleTable buffer after the buffer is full.
 for (i=0; i<BUF_SIZE; i++)
 {
 SampleTable[i] = ((SampleTable[i]) >>4);
 }
 | 
 |