دوستان من با 2368 نياز دارم تا نمونه برداري کنم . برنامه نمونه برداريم هم اينه :
unsigned short read_adc(void){
AD0CR&=0xFFFFFF00;
AD0CR|=(1<<24)|(1<<4);
while((AD0DR4&0x80000000)==0);
AD0CR&=0xF8FFFFFF;
return((AD0DR4>>6)&0x03FF);
}

مشکلي که دارم اينه : وقتي a=read_adc رو مينويسم ، قبلش يکي از تايمرها را راه ميندازم و بلافاصله بعد از همين کد read_adc تايمر را متوقف ميکنم . زماني که ميده حدود 7/5 ميکروثانيه است درصورتي که بايد حدود 3 ميکرو ثانيه باشه .

کلاک ميکرو را روي 72 تنظيم کردم .
تقسيم بر 4 ميره هم توي adc هم توي تايمر . هيچ کار ديگه هم به جز adc انجام نميدم ولي زمانش درست در نمياد .
کسي ميدونه چرا adcاش سرعتش از اون چيزي که توي ديتاشيت نوشته کمتره ؟؟؟
ممنون ميشم کسي راهنمايي کنه .