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

موضوع: مشکل عجیب در راه اندازی RTC داخلی میکرو stm32f103c8!!!

  1. #1
    عضو جدید
    تاریخ عضویت
    Nov 2017
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    Gadid مشکل عجیب در راه اندازی RTC داخلی میکرو stm32f103c8!!!

    سلام دوستان من با برد stm32f103c8t6 کار میکنم و میخوام rtc داخلی شو فعال کنم با خیلی از سورس ها کار کردم اما با همشون به یه مشکل عجیب برخوردم اونم اینه که وقتی برد روشن میکنم روو lcd متن خوش امد رو نشون میده اما بعدش دیگه هیچ کاری نمیکنه تا حدودا یک دقیقه بعد led مربوط به روی برد pc13 شروع به چشمک زدن میکنه و بعد از حدود 10 دقیقه کارکرد مداوم تازه فقط مقادیر ساعت تاریخ روی lcd نمایش داده میشه اونم بصورت ثابت یعنی اصلا کانت نمیکنه
    من فایل سورسمو قرار دادم ممنون میشم کسی کمکم کنه
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar RTC.rar (1.72 مگابایت, 42 نمايش)

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

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

    پیش فرض

    سلام
    این تاخیر در عملکرد آیا ربطی به rtc هم دارد!؟
    وقتی کلاک اعمالی به هسته در RCC درست تنظیم نشده باشد به جای 72 مگ مثلا 8 مگ اعمال می شود. آن وقت سرعت اجرای برنامه 9 برابر کمتر می شود!

  4. #3
    عضو جدید
    تاریخ عضویت
    Nov 2017
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    سلام
    این تاخیر در عملکرد آیا ربطی به rtc هم دارد!؟
    وقتی کلاک اعمالی به هسته در RCC درست تنظیم نشده باشد به جای 72 مگ مثلا 8 مگ اعمال می شود. آن وقت سرعت اجرای برنامه 9 برابر کمتر می شود!

    سلام با تشکر از پاسخ شما بله وقتی برد رو روشن میکنم بعد از چند ثانیه led رو برد که مربوط ثانیع شمار هست شروع چشمک زدن میکند اما مشخص هستش که تایمش دقیق نیست!

  5. #4

  6. #5
    عضو جدید
    تاریخ عضویت
    Nov 2017
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    شما در برنامتون rtc را حذف کن ببین چطور عمل میکنه
    سلام وقتت بخیر من با توجه به پیشنهاد شما تابع ;()RTC_Configuration کامند کردم و مدارو که روشن کردم همه چیز اجرا شد و مقادیر ساعت تاریخ روی LCD نمایش داده شد اما خب همه چیز ثابت با توجه به مقدار قبلی که برای ساعت تاریخ تعریف شده بود روی LCD نمایش داده شد برا همین متوجه شدم که مشکل از تابع RTC هست برای این که متوجه بشم مشکل از کدوم خطه یه LED تعریف کردم خط به خط تابع رو چک کردم که به یخط مشکل برخوردم این برنامه تابع ()RTC_configuration هستش


    1. void RTC_Configuration(void){ RTC_SetCounter(0);
    2. /* Enable PWR and BKP clocks */
    3. RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
    4. /* Allow access to BKP Domain */
    5. PWR_BackupAccessCmd(ENABLE);
    6. /* Reset Backup Domain */
    7. BKP_DeInit();
    8. /* Enable LSE */
    9. RCC_LSEConfig(RCC_LSE_ON);
    10. /* Wait till LSE is ready */
    11. while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);
    12. GPIO_SetBits(GPIOA,GPIO_Pin_1);
    13. /* Select LSE as RTC Clock Source */
    14. RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
    15. /* Set RTC prescaler: set RTC period to 1sec */
    16. RTC_SetPrescaler(32767); /* RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */
    17. /* Enable RTC Clock */
    18. RCC_RTCCLKCmd(ENABLE);
    19. /* Wait for RTC registers synchronization */
    20. RTC_WaitForSynchro();
    21. /* Wait until last write operation on RTC registers has finished */
    22. RTC_WaitForLastTask();
    23. /* Enable the RTC Second */
    24. RTC_ITConfig(RTC_IT_SEC, ENABLE);
    25. /* Wait until last write operation on RTC registers has finished */
    26. RTC_WaitForLastTask();

    27. #ifdef RTCClockOutput_Enable
    28. /* Disable the Tamper Pin */
    29. /* To output RTCCLK/64 on Tamper pin, the tamper functionality must be disabled */
    30. BKP_TamperPinCmd(DISABLE);
    31. /* Enable RTC Clock Output on Tamper Pin */
    32. BKP_RTCOutputConfig(BKP_RTCOutputSource_CalibClock );
    33. #endif
    34. }
    الان مشکل برنامه توو خط 11 هستش چون دقیقا بعد این خط بود که دیگه LED روشن نشد! انگار برنامه گیر میکنه توو حلقه while
    حالا چراشو نمیدونم
    اگه لطف کنید کمک کنید ممنون میشم

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

    پیش فرض

    دو تا مسئله وجود داره
    1- کلاک سیستم از HSE داره میاد یا از HSI؟
    2- کلاک rtc می خواهید تنظیم کنید رو LSE یا LSI ؟
    در اینجا مشخصه که تنظیم می خواهد بشه رو LSE :
    کد:
    11.   while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);
    یعنی کریستال خارجی اسیلاتور
    خوب وقتی نمیره جلو یعنی این کریستال ممکنه مشکلی داشته باشه!
    در فیلم آموزش مقدماتی متوسط STM32F10x که واحد rtc هم با رجیستر هم با cmsis راه اندازی و شرح داده شده چنین مشکلی بر روی برد مشاهده نشده است.

  8. #7
    عضو جدید
    تاریخ عضویت
    Nov 2017
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    دو تا مسئله وجود داره
    1- کلاک سیستم از hse داره میاد یا از hsi؟
    2- کلاک rtc می خواهید تنظیم کنید رو lse یا lsi ؟
    در اینجا مشخصه که تنظیم می خواهد بشه رو lse :
    کد:
    11.   While (rcc_getflagstatus(rcc_flag_lserdy) == reset);
    یعنی کریستال خارجی اسیلاتور
    خوب وقتی نمیره جلو یعنی این کریستال ممکنه مشکلی داشته باشه!
    در فیلم آموزش مقدماتی متوسط stm32f10x که واحد rtc هم با رجیستر هم با cmsis راه اندازی و شرح داده شده چنین مشکلی بر روی برد مشاهده نشده است.
    بابت وقتی که گذاشتید برای پاسخ ممنونم
    کلاک اصلی روی hse تنظیم شده و pll برابر 9 شده یعنی فرکانس 72 مگاهرتز.
    اما درمورد کریستال ساعت باید بگم من هدر برد stm32f103c8t6 خریداری کردم که یه کریستال ساعت داره روی برد سیاه رنگه چهار پایه هم داره والا نمیدونم سالمه یانه!

  9. #8
    عضو جدید
    تاریخ عضویت
    Nov 2017
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلاممممم
    آقا دست شما درد نکنه بالاخره مشکلشو حل کردم یه سایت پیدا کردم که با کتاب خونه HAL راه اندازی کرده بود بعد فایل هگزشو گذاشته بود منم عینن فایلو ریختم داخل میکرو بازم همون مشکل دقیقا پیش اومد
    ولی خب باتوجه به راهنمایی شما که گفتین ممکنه مشکل از کریستال ساعت باشه اومدم کریستال بیرون اوردم و یه کریستال که قبلا داشتم ومیدونستم سالمه براش گذاشتم درست شد
    بازم ممنون از شما تشکر

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

  1. مشکل بزرگ با stm32f103c8
    توسط sadeghbakhshi در انجمن stm32
    پاسخ: 4
    آخرين نوشته: 03-02-2014, 01:46

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

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

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