توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشكل با adc
سلام
من با راه اندازي ADC 7s مشكل دارم.
هر كاري كه مي كنم خروجي رو 1024 ميدهد با اينكه از ولتاژ VREF هم كمتر ميدهم
قسمتي از كد:
config_adc(0x70);
start_adc();
a1=read_adc(4);
a2=read_adc(5);
a3=read_adc(6);
sprintf(str,"%d",a1);
tftlcd_gotoxy(1,11);
.
.
.
sadmonew
13-01-2012, 14:55
با سلام
دوست عزيز از كد زير براي راه اندازي ADC استفاده كنيد. اگه بازم جواب نداد و سوالي داشتيد در خدمتيم.
//ADC Sample (without interrupt) MCK=48MHz
unsigned char ad_channel; //adc channel
unsigned int adv; //value
//ADC setup
ad_channel =4;
//ADC: PRES=4->MCK/10 SHTIM =3 -> 4/4,8MHz=833ns STARTUP =11 ->20us
AT91C_BASE_ADC->ADC_MR = (3<24)|(11<<16)|(4<<8);
//enable channel and set PIN to ADCx function (no need to write PIO!!)
AT91C_BASE_ADC->ADC_CHER = (1<< ad_channel);
//start first conversion
AT91C_BASE_ADC->ADC_CR = AT91C_ADC_START;
while(1) //loop
{
...
//if data ready
if(AT91C_BASE_ADC->ADC_SR & (1 << ad_channel))
{
//read channel register and reset end of conversion (EOC)
adv = (unsigned int*)((AT91C_ADC_CDR0) + ad_channel);
//do whatever you want with ADC-value
//start next conversion
AT91C_BASE_ADC->ADC_CR = AT91C_ADC_START;
}
} //end loop
و يادتون نره كه پايه ADVREF رو به ولتاژ 3.3V وصل كنيد.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.