ايران ويج

نسخه‌ی کامل: سرعت میکرو کنترل avr
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام خدمت همه ی دوستان و آینده سازان این مرز و بوم
قبل از مطرح کردن مشکل ابتدا چند نکته خدمت شما عزیزان عرض میکنم:

1.اول اینکه من با کدویژن و با زبان c کار میکنم
2.مدل پروگرامر من  پروگرامر میکروکنترلرهای AVR مدل  Multi AVR Programmer است
3.فیوز بیت میکرو رو روی کریستال خارجی تنظیم کردم یعنی   cksel1=1, cksel2=1 , cksel3=1,cksel4=1 
4.در مدار کریستال 16 مگ قرار دادم
5.نوع میکرو البته فرقی نمیکنه ولی شما مگا 32 یا مگا128 فرض کنید

حالا مشکل من :
ابتدا از کدویزارد سرعت میکرو روی 16 مگ قرار میدم  و در مدار هم کریستال 16 قرار میدم و برنامه رو اجرا میکنم ولی سرعت تغییر نمیکنه مثل سرعت 1مگ است

بعد میام سرعت و از قسمت کدویزارد میبرم روی 1مگ و در مدار کریستال 16 قرار میدم میبینم سرعت نسبت به قبل 16 برابر شده یعنی داره درست کار میکنه

سوال من ایجاست چرا این اتفاق میفته مگه نباید هر مقدار کریستال که در مدار قرار دادیم در کدویزارد هم همون مقدار قرار بدیم؟

(اینو هم بگم که از قسمت configure هم تنظیم است)
وقتی شما به میکرو میگی سرعت فرکانس 1 مگ هست وفتی 16 مگ بهش وصل می کنی طبیعی هست سرعت رو شما فک می کنی 16 برابر شده
چون 16 برابر بیشتر از انتظار میکرو هست
و در حالت عادی 1 به 1 هست سرعت
در هر صورت مشکل به برنامه شما برمیگرده نه به تنظیمات
دوست عزیز وقتی من داخل برنامه مثلا 1مگ تعریف میکنم و داخل مدار کریستال یک مگ میذارم با وقتی که داخل برنامه 16مگ تعریف میکنم و داخل مدار کریستال 16مگ میذارم هیچ فرقی نمیکنه هر دو سرعت مثل همه
کسی نیست کمک کنه