در بخش های قبل نمایشگرهای گرافیکی و مطالب پیرامون با آن بطور کامل بیان شد. در این قسمت نحوه راهاندازی و نمایش تصویر با استفاده از واحد LTDC بیان شده است. در این پروژه از بورد STM32F746Discovery که دارای نمایشگر RK043FN48H-CT672B که یک نمایشگر RGB888 است، استفاده شده است. این نمایشگر دارای ابعاد 272×480 پیکسل است.
نحوه تنظیم واحد LDTC
برای فعال نمودن واحد LTDC ابتدا در نرم افزار STM32CubeMX ابتدا از قسمت Display Type نوع آن را مشخص کنید. نرم افزار بطور پیشفرض برخی از پایههای میکروکنترلر را به این واحد اختصاص میدهد که ممکن است با سخت افزار موردنظر انطباق نداشته باشد. لذا با توجه به سخت افزار خود پایههایی که نمایشگر متصل شده است را تنظیم کنید.
در سربرگ Parameter Settings مشخصات نمایشگر تنظیم میشود که مقادیر آن را باید از دیتاشیت نمایشگر استخراج نمود. در شکل زیر نحوه تنظیم این سربرگ نشان داده شده است.
در سربرگ Layer Settings تنظیمات مربوط به لایههای LTDC انجام میشود. در این سربرگ فیلد Window Position موقعیت تصویر را بر روی نمایشگر مشخص میکند. فیلد Pixel Parameters نیز نوع تصویر از لحاظ تعداد بیتهای هر مولفه تصویر را مشخص میکند. فیلد Blending نیز میزان ترکیب تصویر با تصویر پیش زمینه را تنظیم میکند. همچنین فیلد Frame Buffer تصویر مورد نظر را مشخص میکند. نهایتا در فیلد Background Color نیز رنگ پس زمینه را تنظیم میشود.
در این مثال از LTDC بصورت یک لایه استفاده شده و اندازه آن برابر ابعاد نمایشگر را در تنظیم شده است.
در شکل زیر نحوه تنظیم این سربرگ نشان داده شده است.
نحوه تنظیم کلاک LTDC
تنظیم نرخ کلاک LTDC براساس مشخصات نمایشگر نظیر طول، عرض (شامل ناحیههای فعال و غیرفعال) و نرخ refresh انجام میشود. در این پروژه ابعاد نمایشگر 531×297 است. این اعداد از دیتاشیت نمایشگر استخراج شدهاند. با فرض نرخ Refresh برابر 60 Hz داریم:
clk rate=531x297x69.5Mhz
کلاک ورودی این واحد از PLLSAI1 تامین میشود
بعد از انجام تنظیمات فوق به سربرگ Project Manager رفته و مسیر و نام و مسیر ذخیره پروژه را انتخاب کنید و در نهایت بر روی دکمه GENERATE CODE کلیک کنید تا پروژه ایجاد شود.
نحوه تبدیل عکس به فایل باینری
برای نمایش تصویر ابتدا باید به یک فایل که توسط کامپایلر قابل خواندن باشد، تبدیل شود. در این پروژه از نرم افزار LCD Image Converter استفاده شده است. این نرم افزار دارای رابط کاربری بسیار راحتی است که تصویر را به فایل .c و یا .h تبدیل میکند. سپس این فایل را میتوان به پروژه اضافه نمود. در شکل 15 محیط این نرم افزار نشان داده شده است.
برای این منظور ابتدا از قسمت Image گزینه Import را انتخاب کنید و سپس فایل تصویر موردنظر را انتخاب کنید. سپس برای تغییر اندازه تصویر و … از منوی Image گزینه Resize و … انتخاب کنید. برای انتخاب فرمت تصویر از منوی Option گزینه Conversion را انتخاب کنید. سپس در سربرگ Image تنظیمات تصویر را مطابق شکل 16 انجام دهید و در فیلد Present فرمت تصویر دلخواه را انتخاب کنید و بر روی دکمه OK کلیک کنید تا تغییرات اعمال شود.
در نهایت از منوی File گزینه Convert را انتخاب کرده و مسیر و نام ذخیره فایل خروجی را مشخص کنید.
نرم افزار سیستم
برای نمایش تصویر ابتدا باید فایل باینری که بوسیله LCD Image Converter (و یا هر نرم افزار مشابه) ایجاد شده را به پروژه اضافه کنید. سپس باید در تابع MX_LTDC_Init که نرم افزار STM32CubeMX به پروژه اضافه کرده است آدرس تصویر را تنظیم کنید. آدرس تصویر در خط
ممنون از شما . فقط باید تو قسمت project manager تو کیوب برای تولید کد تو کیل و توی باکس generated files نباید تیک generated peripheral… رو تیک بزنیم تا قسمت static void MX_LTDC_Init تو فایل main.c دیده بشه .
ممنون از شما . فقط باید تو قسمت project manager تو کیوب برای تولید کد تو کیل و توی باکس generated files نباید تیک generated peripheral… رو تیک بزنیم تا قسمت static void MX_LTDC_Init تو فایل main.c دیده بشه .