如何将单片机AD采集的采集次数连续采集30次?并将采集到的AD值存放在ADRESULT[]数组中

ADC_RESULT1[m]=ADC0;就是这样的形式,用循环的方法如何连续采集30次并将每次的值存入ADC_RESULT1[m]中,m的范围为0--30
1楼的方法我开始也是这么想的,但是不好使,谁有更好的答案不?

第1个回答  2009-12-10
首先,30次是0-29。否则超范围。
第二。你可以采用一个for循环来实现啊。
for(i=29;i--;i>=0)
{
ADC_RESULT1[i]=ADC0;
}
ADC_RESULT_SUM += ADC_RESULT1[i];
按这样的格式来实现就行了。本回答被提问者采纳
第2个回答  2009-12-10
改改
for(i=0;i++;i<30)//30个数据 还是i<=30?31个数据
{
ADC_RESULT1[i]=ADC0;//ADC0的意思是 Get_ADC_Data(); 取得的返回
// 值吧
Delay();//延时时间根据ADC的采样速率决定,以便采样到准确值
}

如何将单片机AD采集的采集次数连续采集30次?并将采集到的AD值存放在AD...
首先,30次是0-29。否则超范围。第二。你可以采用一个for循环来实现啊。for(i=29;i--;i>=0){ ADC_RESULT1[i]=ADC0;} ADC_RESULT_SUM += ADC_RESULT1[i];按这样的格式来实现就行了。

c8051f中的多通道在时序上是怎么采集的,我看到有的程序这样写_百度知 ...
voidADC0_ISR(void)interrupt15\/\/双通道采集数据处理{ADC0CN&=0xdf;if(ADC0_data_n%2==0){ADC0_data1[ADC0_data_n1]=ADC0;ADC0_data_n1++;AMX0SL=0x01;}else{ADC0_data2[ADC0_data_n2... void ADC0_ISR(void) interrupt 15 \/\/双通道采集数据处理 { ADC0CN&=0xdf; if(ADC0_data_n%...

相似回答