PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با کلاک میکرو



stinkor
19-04-2013, 11:42
سلام دوستان
لطفا این کد رو نگاه کنید ... برنامه چشمک زن هستش...

#include <AT91SAM7X256.H> /* AT91SAMT7X256 definitions */
void delay_s(void);
int main (void) {
*AT91C_PIOB_PER = 0x00080000; // Set in PIOB.19 mode
*AT91C_PIOB_OER = 0x00080000; // Configure in Output
*AT91C_PIOB_OWER = 0x00080000; // Configure in PIOX_ODSR in Read-write mode
while(1){
*AT91C_PIOB_ODSR = 0x00080000 ; // PB.19 to be set
delay_s();

*AT91C_PIOB_ODSR = 0x00000000; // PB.19 to be cleared
delay_s();
}
}
void delay_s (void) {
unsigned int n;
for (n = 0; n < 7372800; n++);
}

اینم تنظیمات کلاک میکرو در ویزار کیل ...
You can see links before reply

یعنی فرکانس کاری میکرو همون فرکانس کریستاله که 18.432 MHz هست.
طبق اون چیزی که تو PMM خوندم وقفه ای که دستور for ایجاد میکنه باید 18432000/ (5*7372800)=2 باشه ولی وقفه حدودا 3.2 در میاد انگار فرکانس 11.5 MHz هست ..
گیج شدم ...
لطفا راهنماییم کنید .
ممنون

agape
19-04-2013, 14:17
اینجوری نمیشه در مورد کلاک قضاوت کرد آخه به پارامتر های زیادی بستگی داره - نوع اپتیمایز کد ، سطح اپتیمایز و....
برای بهتر اندازه گیری کردن کلاک شما میتونی از تایمر میکرو استفاده کنی ،
در ضمن یبادم میآد قدیما یه کتابخونه وشته بودم که تاخیر ایجاد میکرد ، توی اون کتابخونه تابعی بود که سرعت کلاک رو برمی گردوند میتونی از اون استفاده کنی ، تو انجمن at91 قابل دانلوده