-کتابخانه emwin چیست؟
اگر تجربه کار با نمایشگرهای رنگی را داشته اید و یا به تازگی قصد ساخت یک دستگاه الکترونیکی با رابط کاربری گرافیکی را دارید قطعا باید بدانید که ساخت یک رابط گرافیکی کاربر پسند بر روی صفحه نمایش های رنگی کاری دشوار و چالش برانگیز است.شاید نوشتن متن به تنهایی با استفاده از نرم افزارهای کمکی ویندوز برای تبدیل کاراکتر به کدهای برنامه کمی راحت باشد اما نمایش کامپوننت هایی مانند کلید ها ، لیست باکس ها ، شاخص ها و اشکال هندسی و … قطعا کاری زمانبر و سخت است. برای حل این مشکل باید به سراغ کتابخانه های گرافیکی رفت . این کتابخانه ها معمولا تجاری بوده و برای استفاده از آنها باید هزینه لازم را پرداخت نمود . اما در این بین کتابخانه های رایگان نیز وجود دارند که می توانید از آنها در پروژه های خود استفاده نمایید. یکی از معروفترین کتابخانه موجود که به صورت رایگان در دسترس می باشد کتابخانه گرافیکی emwin نام دارد.کتابخانه emwin در واقع یک کتابخانه کامل برای طراحی محیط گرافیکی بر روی نمایشگرها می باشد. کتابخانه emwin قابلیت نصب بر روی انواع میکروکنترلرها و سیستم های EMBEDED را دارا می باشد. کارایی بالای این کتابخانه در ایجاد یک محیط کاربری زیبا و منحصر به فرد باعث شده که افرادو شرکت های بسیاری در دنیا از این کتابخانه در محصولات خود استفاده نمایند. کتابخانه emwin محصول شرکت آلمانی Segger می باشد که علاوه بر emwin کتابخانه های بسیار زیادی را برای استفاده در سیستم های embeded طراحی نموده است.
زبان برنامه نویسی کتابخانه emwin :
کتابخانه emwin نوشته شده به زبان C وقابل استفاده در انواع پلتفرم ها ازجمله keil , IAR و … است. همچنین از کتابخانه گرافیکی emwin می توان در پروژه های c++ نیز استفاده نمود.از دیگر قابلیت های کتابخانه emwin امکان استفاده از این پکیج در محیط های برنامه نویسی single-task و multi-task و سازگار با انواع سیستم عامل ها رایج (RTOS)درریزپردازنده ها مانند Embos و RTX و ..است.
کتابخانه emwin بر روی کدام lcd ها قابل پیاده سازی است:
از کتابخانه emwin بر روی انواع LCD ها با هر ابغاد و اندازه ای و هر نوع درایوری قابل پیاده سازی می باشد. در واقع کتابخانه emwin مستقل از هرنوع درایور lcd و هر نوع پردازنده می باشد. به عنوان مثال اگر از کاربران میکروکنترلر های stm32 هستید به راحتی می توانید از این کتابخانه در پروژه های تولید شده با استفاده از stm32cubemx استفاده نمایید.انعطاف این کتابخانه باعث شده تار بتوان انواع پروژه های صنعتی و کاربردی را طراحی و اجرا نمود.
-کارایی بالا در emwin :
کتابخانه emwin یا stemwin یک بسته گرافیکی با قابلیت مصرف حداقل میزان RAM و ROM و بهینه شده برای استفاده در انواع میکروکنترلرها بدون تاثیر قابل توجه در سرعت نمایش است.کتابخانه گرافیکی emwin قابلیت پیاده سازی بر روی انواع صفحه نمایش های رنگی با کنترلرهای متفاوت را دارا می باشد. lcd های موجود در بازار در سایزهاو کنترلرهای مختلفی از جمله ili9325 , ssd1963 , ili93200,ili9300 و وجود دارد که به راحتی می توان کتابخانه emwin یا stemwin را بر روی آنها پیاده سازی نمود.
-شبیه سازی Emwin در کامپیوتر :
وبسایت رسمی segger.com سازنده کتابخانه emwin این امکان را فراهم نموده است که کاربرانی که از این کتابخانه استفاده می کنند بتوانند قبل از اجرای برنامه بر روی میکروکنترلر ، کدهای نوشته شده خود را بر روی کامپیوتر تست و خطایابی کنند.درواقع به همراه این بسته یک پروژه برای استفاده در محیط برنامه نویسی ویؤوال استودیو Visual studio ارائه شده است . که براحتی می توانید از این پروژه استفاده نمایید.
برای آموزش کتابخانه emwin از کجا شروع کنیم:
کتابخانه emwin یا stemwin یک بسته گرافیکی با قابلیت مصرف حداقل میزان RAM و ROM و بهینه شده برای استفاده در انواع میکروکنترلرها بدون تاثیر قابل توجه در سرعت نمایش است.کتابخانه گرافیکی emwin قابلیت پیاده سازی بر روی انواع صفحه نمایش های رنگی با کنترلرهای متفاوت را دارا می باشد. lcd های موجود در بازار در سایزهاو کنترلرهای مختلفی از جمله ili9325 , ssd1963 , ili93200,ili9300 و وجود دارد که به راحتی می توان کتابخانه emwin یا stemwin را بر روی آنها پیاده سازی نمود.با استفاده از کتابخانه emwin می توان انواع اپلیکیشن ها برای دستگاههای سیار که با باتری تغذیه می شوند تا سیستم هایی با پیچیدگی و پردازش سنگین برای نمایش تصاویر و انیمیشن را طراحی نمود. در حال حاضر پکیج گرافیکی emwin ساخت کمپانی segger در انواع پلتفرم ها از جمله محصولات صنعتی , اینترنت اشیاء ، اتومبیل ، شبکه ، دستگاههای پزشکی ، هواشناسی و … مورد استفاده قرار می گیرد.ram
-میزان مصرف حافظه در کتابخانه emwin :
همانطور که در بالا توضیح دادیم کتابخانه emwin قابلیت پیاده سازی بر روی انواع میکروکنترلر ها از جمله میکروکنترلرهای 16 بیتی تا 32 بیتی را دارا می باشد . اما یکی از مسائل مهم در استفاده از کتابخانه emwin وجود حداقل میزان RAM و ROM یا به اصطلاح حافظه FLASH برای راه اندازی می باشد . فرص کنید قصد پیاده سازی کتابخانه emwin را بر روی یک LCD 3.2 اینچ را دارید . بنا به گفته مرجع اصلی emwin حداقل میزان حافظه برای راه اندازی بدون داشتن هیج گونه پنجره ای به شرح زیر می باشد:
RAM:100 bytes
STACK:600 bytes
ROM: 10-25 kbytes
اما برا ارائه یک اپلیکیشن با کیفیت و پویا مقدار حافظه پیشنهادی به شرح زیر می باشد:
RAM:2-6 Kb (بستگی به تغداد پنجره های مورد استفاده دارد)
STACK:1200-1800 bytes (بستگی به تغداد توابع مورد استفاده دارد)
ROM: 30-60 Kb (بستگی به تغداد توابع مورد استفاده دارد)
از آنجا که در حال حاضر استفاده از میکروکنترلرهای 32 بیتی arm از جمله میکروکنترلرهای شرکت NXP مانند LPC1768, LPC1788,.. میکروکنترلرهای شرکت ST MICROELECTRONIC سری STM32FXXX و اتمل سری at91 در دنیا رواج پیدا کرده است می تواند کزینه های مناسبی برای استفاده از کتابخانه گرافیکی emwin باشد.
-نوشتن عبارات فارسی در emwin :
شاید برای شما جای سوال باشد که آیا میتوان با استفاده از کتابخانه emwin عبارات فارسی را بر روی lcd نمایش داد ؟ بله . پکیج emwin به همراه تعدادی نرم افزار ویندوز ارائه می شود که یکی از این نرم افزار fontconverter.exe می باشد .با استفاده از این نرم افزار براحتی قادر خواهید بود هر فونتی که در ویندوز کامپیوتر خود نصب کرده اید را به راحتی به فایل های برنامه برای استفاده در کتابخانه emwin تبدیل کنید . همچنین اندازه فونت و ویژگی های فونت مانند Italic و bold قابل اعمال می باشد.
-نمایش تصاویر با فرمت های مختلف در کتابخانه emwin :
کتابخانه emwin قادر به نمایش تصاویر با فرمت های مختلف از جمله jpeg و png و gif و bmp را دارا می باشد. همانطور که می دانید به غیر از فرمت bmp بقیه تصاویر دارای کدبندی و فشردگی می باشند . اما کتابخانه emwin قابلیت پخش همه فرمت های ذکر شده را دارد.
–کامپوننت ها و عناصر مورد استفاده در کتابخانه emwin :
با استفاده از کتابخانه جامع emwin قادر خواهید انواع کامپوننت ها را تنها با چند خط کد برنامه بر روی نمایشگر خود نمایش دهید .کامپوننت های موجود در کتابخانه emwin شامل مواردی از جمله Button , Dropdown , Edit , … می باشد.
دوره کامل آموزش سیستم عامل گرافیکی stemwin برای میکرو کنترلر های stm32 را از اینجا مشاهده کنید.
موفق و پیروز باشید.
با سلام
ممنون از آموزش هاتون و لطفا آموزش emwin را برای stm32 بزارید چون اکثر آموزش ها بر پایه lpc هست
ممنون.
به شدت منتظر آموزش کامل هستم
سلام انشاءالا به زودی روی سایت قرار خواهد گرفت.
گذاشتین یا نه منتظریم ♡
^__^
سلام دوست عزیز
در حال ضبط هستیم
انشالا به زودی روی سایت قرار خواهد گرفت.