ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 9 از 9
  1. #1
    2014/03/06
    36
    1

    لزوم استفاده از تابع SystemInit()

    سلام دوستان خسته نباشید
    من تو پروژم از تابع SystemInit() استفاده نکردم و به درستی کار میکنه . اما الان که میخوام از مثال eeprom مربوط به کتابخانه استاندارد خود st استفاده بکنم توی اون از این تابع استفاده کرده میخواستم ببینم آیا دلیل خاصی داره که استفاده کرده (مثلا تنظیماتی چیزی رو تغییر میده؟) یا نه میشه باز استفاده نکرد و بدون مشکل از این مثال eeprom استفاده کرد؟
  2. #2
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : لزوم استفاده از تابع SystemInit()

    این تابع رو کاربر مینویسه و ممکنه محتویاتش هر کدی باش، اما معمولا در مثالها از این تابع برای کانفیگ کلاک میکرو استفاده میکنن. اگر قسمت کلاک میکرو رو اینیشیال نکنی سیستم کلاک میکرو با منبع کلاک RC داخلی تغذیه میشه و PLL ها طوری تنظیم میشن که سرعت فرکانس کلاک سیستم 8 مگ باش پس میکرو هم به درستی برای برنامه های ساده مثل GPIO , EEPROM , SPI, I2C کار میکنه. اما برای استفاده از پریفرالهایی مثل USB حتما باید سیستم کلاک بیش از 48 مگ باش.
    با اجرای این تابع کلاک میکرو با کریستال خارجی تامین میشه و میکرو با فرکانس 72 مگ کار میکنه.
  3. #3
    2007/08/04
    اصفهان
    577
    4

    پاسخ : لزوم استفاده از تابع SystemInit()

    بیشتز مواقع در فایل استارت پ این تابع خودش استفاده شده و نیازی به استفاده نیست. اگه نبود باعث تنظیمات پیش فرض میشه
    فيلم آموزشي ميکروکنترلر LPC1768
    فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
    فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...
  4. #4
    2014/03/06
    36
    1

    پاسخ : لزوم استفاده از تابع SystemInit()

    نقل قول نوشته اصلی توسط mohammad poorkhalili
    این تابع رو کاربر مینویسه و ممکنه محتویاتش هر کدی باش، اما معمولا در مثالها از این تابع برای کانفیگ کلاک میکرو استفاده میکنن. اگر قسمت کلاک میکرو رو اینیشیال نکنی سیستم کلاک میکرو با منبع کلاک RC داخلی تغذیه میشه و PLL ها طوری تنظیم میشن که سرعت فرکانس کلاک سیستم 8 مگ باش پس میکرو هم به درستی برای برنامه های ساده مثل GPIO , EEPROM , SPI, I2C کار میکنه. اما برای استفاده از پریفرالهایی مثل USB حتما باید سیستم کلاک بیش از 48 مگ باش.
    با اجرای این تابع کلاک میکرو با کریستال خارجی تامین میشه و میکرو با فرکانس 72 مگ کار میکنه.
    خیلی ممنون
    یعنی اگر اجرا نشه حتما فرکانس 8 مگ داخلی استفاده میکنه؟ آخه بعضی از پریفرال ها رو الان ( بدون تابع systeminit) با فرکانس بالاتر از 8 کانفیگ کردم و دارن کار میکنن
    از کجا میشه کلا فرکانس کاری فعلی میکرو رو بدونم؟ یعنی تو کجا الان کانفیگ میشه بدون اون تابع؟
    من از glcd هم استفاده کردم که رفرش شدنش خیلی کنده احتمالا اون هم به این دلیل باشه! خیلی خوب میشه اگه موضوع حل بشه

    اضافه شده در تاریخ :
    نقل قول نوشته اصلی توسط mzarkoob
    بیشتز مواقع در فایل استارت پ این تابع خودش استفاده شده و نیازی به استفاده نیست. اگه نبود باعث تنظیمات پیش فرض میشه
    ببخشید فایل استارت پ که می فرمایید
    system_stm32f10x.c هست یا startup_stm32f10x_hd.s ؟
    چون تابع systeminit داخل c. هست و کدومشون تو شروع اجرا میشه؟
  5. #5
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : لزوم استفاده از تابع SystemInit()

    بیشتز مواقع در فایل استارت پ این تابع خودش استفاده شده و نیازی به استفاده نیست. اگه نبود باعث تنظیمات پیش فرض میشه
    در فایل استارت اپ فکر نکنم کلاک میکرو کانفیگ بشه، میکرو بعد از ریست این رجیستر ها رو به حالت پیش فرض قرار میده.


    از کجا میشه کلا فرکانس کاری فعلی میکرو رو بدونم؟ یعنی تو کجا الان کانفیگ میشه بدون اون تابع؟
    برای اینکه بفهمی میکرو الان با چه کلاکی کار میکنه برنامه رو دیباگ کن و رجیسترهای قسمت RCC رو بخون یا اینکه یکی از تایمر ها رو کانفیگ کن که از لحاظ تئوری با منبع کلاک 72 مگ هر ثانیه یه LED رو روشن خاموش کنه بعد در عمل ببین چه اتفاقی میوفته.
  6. #6
    2014/03/06
    36
    1

    پاسخ : لزوم استفاده از تابع SystemInit()

    :sad:متاسفانه دیباگر ندارم
  7. #7
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : لزوم استفاده از تابع SystemInit()

    پس با چی پروگرام میکنی ؟ با usart ؟
    خب روش دوم رو تست کن.
  8. #8
    2007/08/04
    اصفهان
    577
    4

    پاسخ : لزوم استفاده از تابع SystemInit()

    تابعsysteminit در استارت پ فراخوانی میشه ولی در system_stm32f10x قرار دارد.
    فيلم آموزشي ميکروکنترلر LPC1768
    فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
    فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...
  9. #9
    2006/04/05
    1,569
    51

    پاسخ : لزوم استفاده از تابع SystemInit()

    نقل قول نوشته اصلی توسط na333r
    سلام دوستان خسته نباشید
    من تو پروژم از تابع SystemInit() استفاده نکردم و به درستی کار میکنه . اما الان که میخوام از مثال eeprom مربوط به کتابخانه استاندارد خود st استفاده بکنم توی اون از این تابع استفاده کرده میخواستم ببینم آیا دلیل خاصی داره که استفاده کرده (مثلا تنظیماتی چیزی رو تغییر میده؟) یا نه میشه باز استفاده نکرد و بدون مشکل از این مثال eeprom استفاده کرد؟
    این تابع کلاک و PLL رو تنظیم میکنه و معمولا از طریق فایل startup و در بردار Reset با دستورات اسمبلی زیر فراخونی میشه:

    کد:
        LDR   R0, =SystemInit
        BLX   R0
    There is nothing so practical as a good theory. — Kurt Lewin, 1951
نمایش نتایج: از 1 به 9 از 9

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

  1. پاسخ: 1
    آخرين نوشته: 2015/10/25, 14:03
  2. لزوم استفاده ار خازن ESR
    توسط 1860 در انجمن تلویزیون و مانیتور
    پاسخ: 1
    آخرين نوشته: 2015/09/09, 23:48
  3. پاسخ: 0
    آخرين نوشته: 2015/07/10, 21:01
  4. SystemInit
    توسط Sadeghbakhshi در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2014/02/13, 02:33
  5. تابع و لزوم برنامه نويسي رويه اي ( Procedural ) چست؟
    توسط eric_s88 در انجمن برنامه نويسي و اينترفيس
    پاسخ: 1
    آخرين نوشته: 2011/11/12, 18:45

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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