02166766927 -02166703652
info@atrinelec.com تهران پاساژ امجد طبقه1 واحد 16
دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد RTC (بخش دوم)

دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد RTC (بخش دوم)

2018-12-20 22:58:46

جلسه سی و ششم _ بررسی توابع و دستورات مربوط به  واحد RTC در نرم افزار Keil

در این جلسه قصد داریم تا با دستورات و توابع مربوط به واحد RTC آشنا شویم، پس در ابتدا برنامه تولید شده توسط نرم افزار STM32CubeMX را باز می کنیم و به سراغ فایل main.h می رویم و به توضیح خطوط مربوط به واحد RTC می پردازیم.

استراکچر مربوط به واحد RTC می باشد.

معرفی تابع مربوط به تنظیمات RTC

 

تابع مربوط به تنظیمات واحد RTC می باشد. همانطور که در تصویر بالا نیز مشخص است مقادیر تنظیم شده در نرم افزار STM32CubeMX برای مقادیر اولیه ساعت و تاریخ در این قسمت تنظیم می شوند.

برای دسترسی به دیگر توابع مربوط به RTC باید به فایل stm32f1xx_hal_rtc.c مراجعه نمایید. برای دسترسی به این فایل باید در پوشه Drivers/STM32F1xx_HAL_Driver بر روی فایل stm32f1xx_hal_rtc.c دابل کلیک نماییم.

(HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format

از این تابع برای تنظیم مقادیر ساعت شامل ساعت، دقیقه و ثانیه استفاده می شود که دارای سه آرگومان می باشد که در آن استراکچر مربوط به RTC و مقادیر تنظیم شده در استراکچری که مقادیر مربوط به ساعت در آن تنظیم شده است و از نوع RTC_TimeTypeDef می باشد و آرگومان سوم مشخص می کند که فرمت دیتا مورد نظر باینری یا BCD باشد.

 

(HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format

از این تابع به منظور خواندن اطلاعات مربوط به ساعت استفاده می شود . این تابع دارای سه آرگومان می باشد که در ابتدا استراکچر مربوط به RTC در آن قرار می گیرد و پس از آن استراکچری از نوع RTC_TimeTypeDef که قصد داریم تا مقادیر مربوط به ساعت را در آن ذخیره نماییم به تابع ارسال می شود و در آرگومان آخر فرمت دیتای خوانده شده را مشخص می کند.

 

(HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format

از این تابع برای تنظیم مقادیر تاریخ شامل سال، ماه، روز و روز هفته استفاده می شود که دارای سه آرگومان می باشد که در آن استراکچر مربوط به RTC و مقادیر تنظیم شده در استراکچری که مقادیر مربوط به تاریخ در آن تنظیم شده است و از نوع RTC_DateTypeDef می باشد و آرگومان سوم مشخص می کند که فرمت دیتا مورد نظر باینری یا BCD باشد.

 

(HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format

از این تابع به منظور خواندن اطلاعات مربوط به تاریخ استفاده می شود . این تابع دارای سه آرگومان می باشد که در ابتدا استراکچر مربوط به RTC در آن قرار می گیرد و پس از آن استراکچری از نوع RTC_DateTypeDef که قصد داریم تا مقادیر مربوط به تاریخ را در آن ذخیره نماییم به تابع ارسال می شود و در آرگومان آخر فرمت دیتای خوانده شده را مشخص می کند.

درون برنامه ما نیز خطوط و دستوراتی را اضافه نموده ایم تا بتوانیم اطلاعات مربوط به ساعت و تاریخ را بخوانیم و آنها را روی نمایشگر نمایش دهیم

استراکچر Time وظیفه خواندن اطلاعات مربوط به ساعت را دارد و استراکچر Date اطلاعات مربوط به تاریخ را می خواند.

برنامه پس از تنظیمات مربوط به LCD و نمایش متن مورد نظر پس از یک توقف 2 ثانیه ای وارد حلقه while می شود و درون حلقه اطلاعات مربوط به ساعت و تاریخ خوانده می شوند و متغیر های Time و Date ریخته می شوند و با فرمت و ترتیب مورد نظر اطلاعات به یک رشته تبدیل می شوند و بر روی ال سی دی نمایش داده می شوند. با توجه به اینکه این دستورات درون یک حلقه while قرار دارند بصورت پیوسته ساعت و تاریخ از واحد RTC خوانده می شوند و بر روی ال سی دی نمایش داده می شوند.

در انتها می توانید شماتیک مربوط به این جلسه و برنامه (keil , STM32CubeMX)  آنرا دانلود نمایید.

 RTC_Sample_Code

 RTC_Schematic

                                                                                                                                                                    دلتون شاد و لبتون پر خنده

                                                                                                                                                                             محمد هادی دشتی

برای مشاهده آموزش جلسه اول(معرفی هسته آرم و میکروکنترلرهای 32 بیتی شرکت ST  ) کلیک کنید.

برای مشاهده آموزش جلسه دوم( معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام  ) کلیک کنید.

برای مشاهده آموزش جلسه سوم( نحوه دانلود آخرین نسخه از نرم افزار STM32CubeMX   ) کلیک کنید.

برای مشاهده آموزش جلسه چهارم(نحوه انجام تنظیمات در نرم افزار STM32CubeMX  ) کلیک کنید.

برای مشاهده آموزش جلسه پنجم(نحوه برنامه نویسی پروژه چشمک زن با نرم افزار Keil ) کلیک کنید.

برای مشاهده آموزش جلسه ششم(نحوه تولید کد و تنظیمات در محیط STM32CubeMX و برنامه نویسی در محیط Keil برای راه اندازی کلید) کلیک کنید.

برای مشاهده آموزش جلسه هفتم(معرفی نرم افزار STM32 Flash Loader Demonstrator و نحوه دانلود برنامه و پروگرام کردن میکرو) کلیک کنید.

برای مشاهده آموزش جلسه هشتم( نحوه راه اندازی ال سی دی کاراکتری-قسمت اول) کلیک کنید.

برای مشاهده آموزش جلسه نهم( نحوه راه اندازی ال سی دی کاراکتری و آشنایی با دستورات کاربردی کتابخانه ال سی دی کاراکتری ) کلیک کنید.

برای مشاهده آموزش جلسه دهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه یازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش دوم)  ) کلیک کنید.

برای مشاهده آموزش جلسه دوازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه سیزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش دوم)  ) کلیک کنید.

برای مشاهده آموزش جلسه چهاردهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی(جلسه اول) ) کلیک کنید.

برای مشاهده آموزش جلسه پانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه شانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه هفدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه هجدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی کانتر(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه نوزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی کانتر(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیستم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و دوم (دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و پنجم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و ششم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و هفت(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و هشت(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست ونهم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی ام(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش چهارم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی System Tick Timer) کلیک کنید.

برای مشاهده آموزش جلسه سیو دوم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفیSPI (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه سی و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفیSPI (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی SPI (بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و پنج(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی واحد RTC (بخش اول)) کلیک کنید.

به سبد خرید اضافه شد.
سبد خرید
سبد خرید
Item removed. بازگرداندن