|
mega128 adc1采样,使用内部ram,部分程序如下:
void main(void)
{
unsigned char *adc_str="2.031 \n\n";
//unsigned int Result;
unsigned int adc[380];
unsigned int adc2[380];
unsigned char i;
unsigned char j;
unsigned int text=0;
CLI();
InitIO();
Com_init();
SEI();
adc_init();
while(1)
{
text=get_adc();
if(text>200)
{
for(i=0;i<380;i++)
{
adc[i]=get_adc(); //读取转换结果
}
for(j=0;j<380;j++)
{
adc2[j]=get_adc();
}
for(i=0;i<380;i++)
{
adc[i]=adc[i]*0.45/1.024*10;
adc_str[0]=(unsigned int)adc[i]/1000+0x30;
adc_str[2]=((unsigned int)adc[i]%1000)/100+0x30;
adc_str[3]=((unsigned int)adc[i]%100)/10+0x30;
adc_str[4]=(unsigned int)adc[i]%10+0x30;
Com_putstring (adc_str,7,&RTbuf_UART0);
}
for(j=0;j<380;j++)
{
adc2[j]=adc2[j]*0.45/1.024*10;
adc_str[0]=(unsigned int)adc2[j]/1000+0x30;
adc_str[2]=((unsigned int)adc2[j]%1000)/100+0x30;
adc_str[3]=((unsigned int)adc2[j]%100)/10+0x30;
adc_str[4]=(unsigned int)adc2[j]%10+0x30;
Com_putstring (adc_str,7,&RTbuf_UART0);
}
text=0;
}
}
}
测试结果如图
请问,为什么采样的数目与我设置的差距这么打呢? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|