راهنمای استفاده کتابخانه touch قسمت 1
لینک : راهنمای استفاده از کتابخانه touch قسمت 2 ( راه اندازی)
لینک :راهنمای استفاده از کتابخانه touch قسمت 3 ( بخش اول – تنظیم پریفرالها)
با درود به تمای دوستان .
به اولین قسمت از راهنمای استفاده از کتابخانه touch خوش آمدید.
طبق معمول اولین قسمت همیشه اختصاص داره به باز کردن در جعبه .
*********************************************************
در این قسمت توضیح خواهم داد که بعد از تهیه کتابخانه ( از اینجا ):
1 - چه پوشه هایی رو در یافت خواهید کرد .
2 - پوشه ها به کدام قسمت کتابخانه مربوط میشوند .
3 – نام فایلها پسوند هایی داره که اون پسوند ها ( مثل _conf ,_name , _link , _typedef و غیره ... ) هرکدام به چه معنایی هستند.
4- یک مقدار در مورد سیستم و نحوه ی کارکرد کتابخانه ( یا در واقع نوع ارتباط پوشه ها )توضیح خواهم داد.
*********************************************************
*********************************************************
کتابخانه به صورت یک فایل با پسوند RAR در اختیار شما قرار خواهد گرفت .
بعد از خارج کردن آن از حالت فشرده 2 پوشه خواهید دید .( تصویر زیر )
*********************************************************
پوشه example :
یک مثال برای استفاده از کتابخانه تاچ است ( فیلمهایی که شما در قسمت معرفی مشاهده کردید مربوط به همین مثال هست )
پوشه touch_ver_1.0.0 : این پوشه فایلها و فولدرهای کتابخانه رو در خودش جای داده است.
*********************************************************
*********************************************************
محتویات پوشه touch_ver_1.0.0 :
در پوشه touch_ver_1.0.0 شما 3 پوشه دیگر مشاهده خواهید کرد ( تصویر زیر )
*********************************************************
xpt2046_driver :
این پوشه همانطور که از اسمش پیداست ، درایور و راه انداز آی سی کنترلر تاچ هست وقابلیتهای آی سی کنترلر xpt2046( فارغ از بحث مربوط به تاچ) از طریق فایلهای این قسمت در اختیار کاربر قرار خواهد گرفت .
که فایلهاش رو در تصویر زیر میبنید .
*********************************************************
touch_lib :
این پوشه شامل فایلهای اصلی کتابخانه تاچ هستند و کلیه امکانات تاچ مثل کالیبراسیون تاچ ، خواندن مختصات لمس شده ، خواندن مقدار فشار و غیره...در این قسمت قرار دارد.
فایلهای این قسمت را در تصویر زیر میبینید.
*********************************************************
use_touch :
این قسمت از ضروریات کتابخانه نیست .
واگر کلا حذف بشه اختلالی در کارد کتابخانه به وجود نخواهد آمد .
این قسمت رو برای رفاه کاربران در هنگام استفاده و به طور خاص در هنگام راه اندازی کتابخانه ایجاد کردم .
برای راه اندازی کتابخانه نیاز هست یک متغیرهایی تعریف بشه و یکسری دستوراتی اجرا بشه .
من در این قسمت اون متغیرها رو تعریف کردم و اون مراحل رو به صورت توابعی ایجاد کردم .
پیشنهاد میکنم که این رو حذف نکنید و در صورت نیاز در اون تغیراتی به سلیقه خودتان ایجاد کنید .
فایلهای این قسمت رو در تصویر زیر میبینید .
*********************************************************
*********************************************************
محتویات پوشه example:
در پوشه example همان پروژه ای قرار دارد که فیلم و تصاویر قسمت معرفی مربوط به اجرای این پروژه هستند .
این پروژه با نرم افزار True Studio ( که از کمپایلر GCC استفاده میکند وبرای محیط ویرایشگر آن از نرم افزار Eclips استفاده شده است ) تولید شده است .
نرم افزار cube IDE هم از کمپایلر GCC استفاده میکند اما تا کنون تست نکردم که این پروژه قابل import شدن در cube IDE هست یا خیر .
در هر صورت فایلهای این مثال رو در تصویر زیر میبینید.
*********************************************************
فلش قرمز :
فایل Cube MX مربوط به این پروژه رو قرار دادم تا شما برای اطلاع از کلیه تنظیمات سخت افزار ابهامی نداشته باشد.
*********************************************************
کادر نارنجی :
فایلهای کتابخانه هستند .
*********************************************************
کادر آبی :
فایل main.c در این پوشه قرار دارد .
*********************************************************
کادر سبز :
فایل های مربوط به شبه GUI مورد استفاده در این مثال ( شامل عملکرد نمایش دگمه ها و واکنش به تاچ دگمه) در این پوشه قرار دارد .
*********************************************************
*********************************************************
3 – نام فایلها پسوند هایی داره که اون پسوند ها ( مثل _conf ,_name , _link , _typedef و غیره ... ) هرکدام به چه معنایی هستند؟
برای این مورد لطفا به ( اینجا ) مراجعه کنید .
*********************************************************
*********************************************************
4- توضیح در مورد سیستم و نحوه ی کارکرد کتابخانه ( یا در واقع نوع ارتباط پوشه ها) .
همانطور که در بالا توضیح دادم کتابخانه از 3 قسمت ( در قالب 3 پوشه ) تشکیل شده است .
این 3 قسمت یک ارتباطی با هم دارند که به شرح زیر هست .
به طور خلاصه :
قسمت use_touch از touch_lib استفاده میکند و touch_lib از xpt2046_drive برای ارتباط با کنترلر تاچ بهره میبرد .
و به طور دقیقتر:
*********************************************************
عملکرد xpt2046_drive :
این قسمت از کتابخانه هیچ ربطی به موضوع تاچ ندارد . وکاملا مربوط به آی سی xpt2046 میشود .
این آی سی به طور خاص یک کنترلر برای تاچهای مقاومتی هست و روی بعضی از ماژولهای LCD نصب شده است .
آما فرض کنید که شما این آی سی را از بازار تهیه کردید و میخواهید از قابلیتهای مبدل ADC آن ( بوسیله ADC مختصات تاچ را تشخیص میدهد) استفاده کنید .
این قسمت از کتابخانه دسترسی به تمام امکانات این آی سی را رای شما فراهم خواهد کرد و حتی این بخش را به عنوان یک کتابخانه مستقل میتوانید استفاده کنید .
*********************************************************
عملکرد touch_lib :
وقتی پای موجودی به اسم تاچ به پروژه شما باز میشه نیاز هست این قسمت به پروژه اضافه شود .
این بخش از کتابخانه برای فرمان دادن به آیسی کنترلر تاچ از قسمت xpt2046_drive استفاده میکند و در آن تمام قابلیتهای لازم برای کالیبره کردن تاچ ، دریات مختصات نقطه لمس شده ، چرخش نرم افزاری مختصات تاچ و غیره .... قرار داده شده است .
و هیچ وابستگی به نوع آی سی کنترلر تاچ یا حتی کتابخانه آن ندارد .
یعنی در صورت نیاز میتوانید قسمت xpt2046 را حذف کنید و به جای آن از یک کتابخانه مربوط به یک آی سی کنترلر دیگه استفاده کنید .
اما چطور قسمت touch_lib متوجه میشه که از درایور جدید باید استفاده کنه ؟
پاسخ:
توابع مورد نیاز این بخش از طریق یک فایل با اضافه _link در قالب چند ماکرو به این بخش touch_lib معرفی میشه .
در واق شما قادر خواهید بود کتابخانه مربوط به درایورهای مختلفی را به قسمت touch_lib متصل کنید .
البته جزئیات بیشتر در این باره را در قسمتهای بعدی مربوط به راهنمای استفاده ، توضیح خواهم داد.
*********************************************************
عملکرد use_touch:
این بخش از قسمت touch_lib استفاده میکند و برای استفاده آسان تر ازبخش touch_lib طراحی شده است .
در حالت برای استفاده از قسمت قبل ( touch_lib ) نیاز به تعریف متغیرهایی و اینیشال کردن قسمت درایور قبل از استفاده وجود دارد .
در این قسمت این متغیرها به شکل مناسب تعریف و کارهای لازم به صورت ماکروها و توابعی خلاصه سازی شده اند .
اتصال این قسمت به قسمت قبلی از طریق یک فایل با اضافه نام _link انجام میشود .
*********************************************************
*********************************************************
در قسمتهای بعد ابتدا نحوه ی راه اندازی مثال همراه کتابخانه رو توضیح خواهم داد و بعد از اون به جزئیات مربوط به هر قسمت خواهم پرداخت .
فکر میکنم این روش از لحاظ صرفه جویی در زمان و حوصله مناسب تر باشه .
مطالب مربوط به قسمت اول در اینجا به پایان رسید .
امیدوارم مورد توجه شما قرار گرفته باشد .
با سپاس.