ARM, STM, STM32, آموزش, توصیه شده

آموزش میکروکنترلر STM32 قسمت یازدهم : رابط RTC

RTC in STM32

آموزش میکروکنترلر STM32 – قسمت یازدهم ;

 

سیسوگ در قسمت دهم از آموزش میکروکنترلر STM32 کار با DMA رابط سریال UART را آموزش داد. در این قسمت از آموزش میکروکنترلر STM32 قصد دارد به آموزش تنظیمات نرم‌افزار CubeMX برای رابط RTC  در خانواده CORTEXM3 بپردازد. در مجموعه آموزش میکروکنترلر STM32 با سیسوگ همراه باشید.

 

رابط RTC در خانواده CORTEXM3 :

برای شروع راه اندازی قسمت RTC بمانند دفعات قبل ابتدا نرم افزار CUBEMX را باز می‌کنیم و میکروکنترلر  STM32F103C8T6 را انتخاب می‌کنیم و فرکانس را روی همان 72 مگا هرتز می‌گذاریم و حال باید قسمت RTC را فعال کنیم، بدین منظور مطابق عکس زیر تنظیمات Pinout را انجام می‌دهیم.

تنظیمات RTC برای میکروکنترلر STM32

همان‌طور که در عکس بالا میبینید ما عمداً گزینه No RTC Output را انتخاب می‌کنیم تا بتوانیم از وقفه آلارم نیز استفاده کنیم. در مرحله بعد باید منبع کلاک RTC را انتخاب کنیم، ما برای منبع کلاک در این قسمت چند گزینه متفاوت داریم بهترین گزینه استفاده از کریستال ساعت با فرکانس 32768  هرتز خارجی است. بدین منظور طبق عکس زیر پایه‌های مربوط به این کریستال را فعال می‌کنیم.

 

فعالسازی کریستال ساعت در میکروکنترلر STM32

در این حالت همان‌طور که در عکس بالا مشاهده می‌کنید پین‌های PC14 و PC15 به امر اتصال کریستال ساعت اختصاص پیدا می‌کند و دیگر نمی‌توانید از آن پین‌ها به عنوان پورت استفاده کنید. حال به برگه Clock Configuration می‌رویم و گزینه کریستال ساعت را برای RTC مطابق عکس زیر انتخاب می‌کنیم.

 

تنظیمات کریستال ساعت برای RTC در میکروکنترلر STM32

توجه داشته باشید در بعضی میکروکنترولرهای چینی اسیلاتور بخش کریستال ساعت کار نمی‌کند و در هنگام اجرای برنامه به قسمت پیکره‌بندی آن که می‌رسیم برنامه متوقف می‌شود. برای این میکروکنترولرها می‌توانید گزینه اول یعنی گزینه HSE_RTC را انتخاب کنید، که تقریبا دقت مناسبی را در RTC فراهم می‌کند ولی بخوبی کریستال ساعت نیست. در مرحله بعد به صفحه Configuration می‌رویم و دکمه RTC را می‌زنیم تا کادر زیر ظاهر شود.

 

تنظیمات RTC برای میکروکنترلر STM32

همانطور که در عکس بالا میبینیم Data Format  را باید از نوع Binary انتخاب کنیم و در قسمت General هم تنظمات حتما باید روی Automatic باشد تا بصورت خودکار بوسیله تقسیم کننده فرکانس یک هرتز از منبع کلاک RTC برای این بخش فراهم گردد، ولی مثلا برای میکروهای سری CORTEXM4 مسئله به این شکل نیست، که در بخش خودش توضیح داده خواهد شد. در مرحله بعد به NVIC Setting همین تنظیمات می‌رویم و هر دو وقفه نشان داده شده در شکل زیر را که اولی مربوط به وقفه عمومی RTC می‌شود و دومی هم به وقفه رویداد الارم RTC مربوط می‌شود را فعال می‌کنیم.

 

تنظیمات NVIC Setting در میکروکنترلر STM32

پس از این مرحله تنظیمات را OK می‌کنیم و از همان صفحه Configuration دکمه NVIC را می‌زنیم و طبق عکس زیر در قسمت مورد نظر دو تیک مربوط به وقفه‌های مورد استفاده RTC را فعال می‌کنیم.

 

تنظیمات NVIC در میکروکنترلر STM32

در مرحله بعد تنظیمات را OK می‌کنیم و با زدن دکمه Generate از نرم افزار خروجی می‌گیریم توجه داشته باشید در این برنامه ما UART1 را قبلاً برای نمایش اطلاعات انتخاب کرده‌ایم. بعد از خروجی گرفتن از نرم‌افزار Cubemx وارد محیط نرم‌افزار Keil می‌شویم حال باید در ابتدا توابع عمومی رابط RTC را بررسی کنیم.

 

 

بوسیله تابع بالا می‌توانید زمان را که تشکیل شده از ساعت به همراه دقیقه و ثانیه داخل یک ساختار از نوع RTC_TimeTypeDef دریافت کنید.

سیسوگ در قسمت دوازدهم قصد دارد جزئیات ساختار RTC_TimeTypeDef را برای شما توضیح دهد. با سیسوگ همراه باشید.



انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.  همکاری با سیسوگ

 

نوشته های مشابه

یک دیدگاه در “7”

  1. Avatar دانش گفت:

    سلام
    از آموزشهای خوبتون تشکر میکنم.
    ولی یک سوال داشتم! چرا قسمتهای دوازدهم به بعد این آموزش آپلود نشده است؟؟؟
    یعنی دیگه نمیخواید این مجموعه آموزش مفید رو ادامه بدید؟؟!!

    1. N H N H گفت:

      سلام دوست عزیز
      متاسفانه فراموش شده بود آدرس پست دوازدهم در پست 11 اضافه بشه. این مجموعه در 15 قسمت ارائه شده که میتوانید در آدرس زیر کل مجموعه را ببینید:
      https://sisoog.com/tag/stm32f1/
      مجموعه آموزشی دیگری هم تحت عنوان “آموزش میکروکنترلر STM32F4” در حال انتشار است.
      ممنون از توجه شما

      1. Avatar دانش گفت:

        با تشکر از پاسخگوییتون

  2. Avatar محمد گفت:

    با سلام بی صبرانه منتظر آموزشهای بسیار عالی شما هستم

    1. N H N H گفت:

      سلام
      ممنون از لطف شما دوست عزیز

  3. Avatar صادق گفت:

    سلام
    ممنون از مطالب خوبتون .
    منتظر قسمت های بعدی هستیم.

    1. زئوس Zeus زئوس Zeus گفت:

      سلام
      متشکر از لطف شما
      بله حتما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *