NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2327 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 17 از 17

موضوع: تنظیمات فایل system_LPC17xx.c در کامپایلر keil

  1. #1
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض تنظیمات فایل system_LPC17xx.c در کامپایلر keil

    سلام.
    چه جوری باید از فایل system_LPC17xx.c برای انجام تنظیمات میکروکنترلر LPC1768 استفاده کنم.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    کسی نیست.
    من از کریستال خارجی 12 مگاهرتز استفاده میکنم و میخوام که CPU در فرکانس 100 مگاهرتز کار کنه. مقادیر M و N رو به ترتیب 25 و 2 بدست آوردم. مقدار رجیستر CCLKCFG هم 2 باید باشه. حالا چه جوری باید این تنظیمات رو در فایل system_LPC17xx.c انجام بدم.

  4. #3
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    سلام
    سوالتان در ابتدا کلی بود و جواب آن هم به صورت کلی می شد
    چه جوری باید از فایل system_LPC17xx.c برای انجام تنظیمات میکروکنترلر LPC1768 استفاده کنم.
    پاسخ : با باز کردن آن و رفتن به تب configuration wizard به سادگی گزینه های لازم را می توان تغییر داد.
    مشکلش چیه؟

  5. #4
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    یادتون باشه در
    configuration wizard مقادیر m و n و غیره همون چیزی باید قرار بدین که محاسبه کردین نه منهای یک اون مقدار. خود برنامه درستش میکنه.
    مثلا در مقادیری که شما گفتین
    CCLKCFG باید حداقل 3 باشه نه 2 . فرکانس سی پی یو 100 هست و فرکانس پی ال ال باید بالای 275 باشه که میشه 300 مگ. طبق دیتا شیت باید 2 باشه ولی در configuration wizard باید 3 قرار بدین

  6. #5
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    اگر فرکانس ورودی PLL0 برابر با 12 مگاهرتز باشه و بخواهیم CPU در فرکانس 100 مگاهرتز کار کنه بهترین فرکانس برای خروجی PLL0 برابر 300 مگاهرتز میشه که طبق روابط ذکر شده در دیتاشیت بهترین مقادیر برای M و N به ترتیب برابر 25 و 2 به دست میان. حالا مقدار رجیستر CCLKCFG باید برابر با 3 باشه تا فرکانس خروجی PLL0 که برابر با 300 مگاهرتز هستش تقسیم بر 3 بشه تا فرکانس 100 مگاهرتز برای CPU به دست بیاد.
    اشتباه من این بود که این مقادیر رو منهای 1 میکردم و در فایل system_LPC17xx.c قرار می دادم و کامپایلر error می داد که باید مقدار رجیستر CCLKCFG بزرگتر از 1 باشه ولی وقتی به گفته شما عمل کردم و مقادیر محاسبه شده را قرار دادم کامپایلر دیگه error نداد.
    یه سوال دیگه داشتم و اونم اینه که مثلا اگه از USB PLL و یا PLL0 استفاده نمیکنم باید تیک روبروی هر کدوم از آنها رو بردارم یا نه و به طور کلی برای همه قسمت هایی که نمیخوام ازشون استفاده کنم باید اینکار رو بکنم یا نه؟

  7. #6
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    بله تیک رو بردارید غیر فعال میشه. اگر pll1 رو غیر فعال کنید usb از pll0 استفاده میکنه. اگر pll0 رو غیر فعال کنید cpu از اسیلاتور استفاده میکنه. برای usb حتما باید منبع ورودی pll کریستال باشه.

  8. #7
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    من میخوام که از PLL0 استفاده نکنم و CPU از یکی از 3 تا اسیلاتور کلاک بشه مثلا اسیلاتور RC داخلی. برای همین PLL0 رو غیرفعال کردم و همچنین اسیلاتور اصلی رو غیرفعال کردم و مقدار رجیستر CCLKCFG رو برابر با 1 قرار دادم ولی کامپایلر این خطا رو میده :
    "CCLKCFG: Value out of range!"
    این خطا میگه که مقدار رجیستر CCLKCFG خارج از محدوده مجاز است. برای چی ؟
    چون فرکانس اسیلاتور RC داخلی برابر با 4 مگاهرتز هست تنها در صورتی CPU در فرکانس 4 مگاهرتز کار میکنه که مقدار مقسم کلاک CPU یا همون مقدار رجیستر CCLKCFG برابر با 1 باشه. به هر حال کامپایلر error میده. نمیدونم برای چی ؟

  9. #8
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2014
    نام
    جواد اسماعیلی
    نوشته ها
    51
    تشکر
    19
    تشکر شده 14 بار در 10 پست

    پیش فرض

    ببخشید تا اونجایی که من میدونم برای انتخاب نوع ورودی باید به رجیستر clksrcsel مقدار داد وبرای rc داخلی هم عددش صفر هستش.
    و اما cclkcfg مربوط به تقسیم کننده فرکانس ورودی سی پی یو هستش یعنی بعد از بلوک انتخاب pll0 یا فرکانس ورودی ، مقدار فرکانس هر چی باشه بر این عدد +1 شدهش تقسیم میشود.
    برای غیر فعال کردن pll0 هم باید به pll0con مقدار صحیح داده بشود.
    حالا مشخص نیست شما این کارها را انجام داده اید یا نه.
    قابل ذکر است پیش فرض ما این بوده است که تمام مراحل رابه ترتیب دیتاشیت انجام شده است .
    معذرت میخوام اگر بد توضیح دادم.

  10. #9
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    خیلی ممنون. خیلی خوب توضیح دادین.
    برای غیرفعال کردن PLL0 تیک روبروی اون رو برداشتم. مقدار رجیتر CCLKCFG رو هم برابر با 1 قرار دادم. حالا چرا کامپایلر error میده.

  11. #10
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2014
    نام
    جواد اسماعیلی
    نوشته ها
    51
    تشکر
    19
    تشکر شده 14 بار در 10 پست

    پیش فرض

    ظاهرا خیلی بد توضیح دادم
    CCLKCFG برای تقسیم کلاک CPU هستش و ربطی به انتخاب نوع ورودی ندارد برای انتخاب ورودی باید به CLKSRCSEL (برای تعیین یکی از سه ورودی) و PLL0CON (برای متصل کرد خود فرکانس ورودی و غیر فعال کردن PLL0 )
    شکل صفحه 29 دیتاشیت 840 صفحه ای رو که نگاه کنید کامل متوجه میشید.



    اگر از ویزارد استفاده میکنید فکر کنم باید CLKSRC: PLL Clock Source Select را برای RC داخلی تنظیم کنید

    حالا چرا میخواین فرکانس کم استفاده کنید؟!

    شما با قرار دادن مقدار یک در CCLKCFG و در صورت انتخاب 4 میگ ورودی فرکانس CPU شما برابر 2 میگ میشود.

  12. #11
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    منظور شما رو فهمیدم. ولی مسئله اینه که وقتی مقدار رجیستر CCLKCFG رو برابر با 0 یا 1 یا 2 قرار میدم کامپایلر error میده چون که اصلا توی فایل system تعریف شده که مقدار این رجیستر نباید از 2 کمتر باشه. من میگم که هر کدوم از 3 تا اسیلاتور رو که انتخاب کنیم و PLL0 چه فعال باشه یا غیرفعال مقدار رجیستر CCLKCFG رو که از 2 کمتر میزاریم کامپایلر error میده.

  13. #12
    کاربر فعال
    تاریخ عضویت
    Nov 2013
    نوشته ها
    140
    تشکر
    0
    تشکر شده 3 بار در 3 پست

    پیش فرض

    چرا جواب نمیدین.

  14. #13
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2014
    نام
    جواد اسماعیلی
    نوشته ها
    51
    تشکر
    19
    تشکر شده 14 بار در 10 پست

    پیش فرض

    راستش من هم تو ویزارد امتحان کردم عددش از 3 کمتر نشد و اگر هم دستی میزاشتم ارور میده حالا این چه محدودیتی است نمیدنم تو دیتاشیت هم چیزی پیدا نکردم. شاید ضریب ها رند در نیاند نمیدونم.

  15. #14
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    فکر کنم یکجا خوندم مقدار این عدد باید فرد یا زوج باشه. یعنی یک درمیان باشه و هر عددی نمیشه

  16. #15
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2017
    نوشته ها
    25
    تشکر
    1
    تشکر شده 1 بار در 1 پست

    پیش فرض

    چطور میتونم وارد تب configuration wizard شم؟ من فایل .c رو باز میکنم با نوت پد باز میشه.چطور باید بازش کنم؟

    - - - Updated - - -

    ایا همین رجیسترها و مقادیر برای 1788 هم وجود داره؟؟

  17. #16

  18. #17
    کاربر علاقه مند
    تاریخ عضویت
    Jul 2017
    نوشته ها
    25
    تشکر
    1
    تشکر شده 1 بار در 1 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    این configuration wizard باید قبلا ایجاد شده باشد که وقتی با کیل که باز کنید می توانید آن را ببینید.

    ممنوون.یافتمش
    ویرایش توسط v_gh : 10-12-2017 در ساعت 11:02

موضوعات مشابه

  1. سوال در مورد فایل system_LPC17xx
    توسط mehregan در انجمن LPC series (NXP)
    پاسخ: 3
    آخرين نوشته: 08-10-2013, 23:04
  2. PLL و system_LPC17xx.c
    توسط mehrad_jahrom در انجمن LPC series (NXP)
    پاسخ: 5
    آخرين نوشته: 11-08-2012, 22:43
  3. مشکل با keil
    توسط mehran1234 در انجمن LPC series (NXP)
    پاسخ: 8
    آخرين نوشته: 16-08-2011, 21:38
  4. یه مشکل در keil
    توسط arm-mohsen-avr در انجمن AT91 series (ATMEL)
    پاسخ: 3
    آخرين نوشته: 18-06-2011, 00:28
  5. مشکل Keil 4.01
    توسط draculaaaaa در انجمن AT91 series (ATMEL)
    پاسخ: 6
    آخرين نوشته: 26-05-2011, 00:41

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •