آموزش میکروکنترلر STM32 – قسمت چهاردهم ;
سیسوگ در قسمت سیزدهم از آموزش میکروکنترلر STM32 وقفه های رابط RTC از جمله وقفه ثانیه و وقفه آلارم را معرفی کرد و آموزش داد چگونه میتوان تاریخ شمسی و میلادی را به یکدیگر تبدیل کرد و همچنین تبدیل یک تاریخ و زمان به عدد Unix Time Stamp یا بالعکس را آموزش داد. در این قسمت از آموزش میکروکنترلر STM32 قصد دارد به آموزش رجیسترهای پشتیبان و کاربردی RTC بپردازد. با سیسوگ همراه باشید.
رجیستر های پشتیبان RTC
تعداد رجیسترهای پشتیبان RTC در خانواده CORTEXM3 به تعداد 42 عدد میباشد و در خانواده CORTEXM4 به تعداد 20 عدد از این رجیسترهای 32 بیتی موجود میباشد. کاربرد این رجیسترها این است که ما میتوانیم محتوای آنها را حتی در زمانی که برق میکروکنترلر قطع است با اتصال باتری به پایه BAT میکرو حفظ کنیم. به عنوان مثال میتوانیم از این رجیسترها برای ساخت یک شمارنده در یک خط تولید استفاده کنیم، که تعداد شمارش را داخل این رجیسترها قرار دهیم. تا زمانی که دستگاه خاموش میشود محتوا رجیستر که در اصل همان شمارش انجام شده میباشد حفظ شود. یک کاربرد اصلی دیگر که از این رجیسترها برای اطلاع از بهم خوردن زمان و تاریخ واحد RTC میباشد به این صورت که زمانی که واحد RTC برای اولین بار پیکرهبندی میشود ما یکی از این رجیسترها را با مقداری خاص پر میکنیم، در نتیجه هر بار که برق میکروکنترلر قطع و وصل میشود ما دوباره در ابتدای برنامه مقدار داخل آن رجیستر را بررسی میکنیم، اگر بهم خورده بود به این معنی است که مقادیر RTC بهم خورده و ساعت و تاریخ باید دوباره تنظیم شوند. ما از طریق فرمانهای زیر میتوانیم مقادیر داخل این رجیسترها را تغییر دهیم یا بخوانیم.
1 | (HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data |
از طریق تابع بالا میتوانیم یک مقدار مشخص را در یکی از رجیسترهای پشتیبان بریزیم. در اینجا منظور از آرگومان hrtc همان نام واحد RTC میباشد و منظور از آرگومان BackupRegister نام رجیستر پشتیبان میباشد که میتواند بین RTC_BKP_DR1 تا RTC_BKP_DR42 باشد و منظور از آرگومان Data همان مقداری است که میخواهیم داخل رجیستر مربوطه جایگذاری کنیم.
1 | (Uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister |
از طریق تابع بالا هم میتوانیم مقدار داخل یکی از رجیسترهای پشتیبان را بخوانیم.
در قسمت پانزدهم مجموعه آموزش میکروکنترلر STM32 سیسوگ قصد دارد واحد RTC را از طریق میکروکنترلرهای خانواده CORTEXM4 راه اندازی کند. تا پایان مجموعه آموزش میکروکنترلر STM32 با سیسوگ همراه باشید.
با سلام ببخشین چرا اموزش هارو ادامه نمیدین؟؟
سلام
. کاربرد این رجیسترها این است که ما میتوانیم محتوای آنها را حتی در زمانی که برق میکروکنترلر قطع است با اتصال باتری به پایه BAT میکرو حفظ کنیم. به عنوان مثال میتوانیم از این رجیسترها برای ساخت یک شمارنده در یک خط تولید استفاده کنیم، که تعداد شمارش را داخل این رجیسترها قرار دهیم. تا زمانی که دستگاه خاموش میشود محتوا رجیستر که در اصل همان شمارش انجام شده میباشد حفظ شود.
میشه درباره این موضوع بیشتر توضیح بدین و اینکه جچوری میشه اینکارو کرد
سلام
آموزش های این بخش دیگه ادامه نداره؟
سلام دوست عزیز
آموزش های STM32 به دو بخش STM32F1 و STM32F4 تقسیم شده. آموزش های STM32F1 در قسمت 14 به پایان رسیده ولی میتونین نکات بیشتر را در آموزش STM32F4 مطالعه کنین.
در اینجا میتونین آموزش ها را ببینین.
در میکرو سری f1 میشه محاسبات اعشاری داشت و مثلا محاسبه سینوس و کسینوس؟
البته کتابخانه Math داره که عملیات ریاضی رو سرعت بخشیده ولی خوب به دلیل عدم وجود سخت افزار FPU باز خیلی نسبت به سری F4 کند هست !
بهترین راه برای سرعت بخشیدن به عملیات ریاضی خصوصا محاسبات مثلثاتی استفاده از Table هستش