این کتابخانه به زبان C نوشته شده و برای راهاندازی سریع ماژول RTC مدل DS3231 در میکروکنترلرهای STM32 استفاده میشود. کتابخانه بهطور کامل با توابع استاندارد HAL سازگار است و شما را از کار با رجیسترهای سطح پایین I2C برای خواندن یا تنظیم زمان و تاریخ بینیاز میکند. یکی از ویژگیهای مهم این کتابخانه، استفاده از یک ساختار یکپارچه و خوانا برای مدیریت تمامی اطلاعات مربوط به زمان و تاریخ است.
برای استفاده از این کتابخانه در پروژه، این مراحل را انجام دهید:
برای اطمینان از برقراری صحیح ارتباط با تراشه روی باس I2C، ابتدا کتابخانه را با هندلر I2C مقداردهی کنید. سپس میتوانید با استفاده از توابع کتابخانه، وضعیت ارتباط و عملکرد ماژول را بررسی کنید:
|
1 2 3 4 5 6 |
// کانفیگ اولیه کتابخانه با هندلر I2C DS3231_Init(&hi2c1); if (DS3231_GetTime(&rtc) == true) { // ارتباط برقرار است و دادهها با موفقیت دریافت شدند } |
در فایل main.c، اول هدر کتابخانه را به پروژه اضافه کنید:
|
1 |
#include "stm32_ds3231.h" |
سپس میتوانید از کد زیر برای تنظیم اولیه تاریخ و زمان و همینطور خواندن اطلاعات زمان از ماژول استفاده کنید:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// تعریف استراکچر برای نگهداری پارامترهای زمان و تاریخ _RTC rtc; // تنظیم تاریخ و زمان اولیه (مثال: 25 می 2026، ساعت 10:30:00) rtc.Year = 26; rtc.Month = 5; rtc.Date = 25; rtc.DaysOfWeek = 2; // دوشنبه rtc.Hour = 10; rtc.Min = 30; rtc.Sec = 0; // نوشتن داده: ارسال تنظیمات به ماژول DS3231 DS3231_SetTime(&rtc); // تاخیر کوتاه برای پایداری ارتباط HAL_Delay(10); // خواندن زمان: دریافت مقادیر آپدیت شده و ذخیره مجدد در استراکچر DS3231_GetTime(&rtc); |
پایههای SDA و SCL ماژول را به پایههای I2C میکروکنترلر متصل کنید. ماژولهای آماده DS3231 معمولاً دارای مقاومت Pull-up روی برد هستند، در غیر این صورت باید روی این دو خط مقاومتهایی در حدود 4.7K تا 10K اهم قرار داده شود. پایههای VCC و GND نیز باید به تغذیه میکروکنترلر (معمولاً 3.3 ولت) متصل شوند.
پروژه را ذخیره کنید. سپس در محیط IDE مانند Keil یا STM32CubeIDE با استفاده از میانبر Ctrl + B آن را کامپایل کرده و روی برد پروگرام کنید. در حالت Debug میتوانید با اضافه کردن متغیر rtc به بخش Live Expressions، تغییرات ثانیهشمار و سایر پارامترها را بهصورت زنده مشاهده کنید.
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.