NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 1325 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 4 از 56 نخستنخست 123456789101112131415161718192021222354 ... آخرینآخرین
نمایش نتایج: از 61 به 80 از 1104

موضوع: آموزش emWin

  1. #61
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط titery نمایش پست ها
    دوستان واقعا ممنون میشم اگه اطلاعاتی دارید که فکر می کنید مفید هست(مثلا اساس کار،ایجاد یک برنامه emwine از پایه و...) پست بزنید
    سلام. عجله نکنید. اگر همراه با هم جلو بریم به همه موارد میرسیم. فعلا من منتظرم که همه دوستان بتونند ال سی دی رو راه بیاندازند. فایل glcd.c شما رو هم دارم میخونم و بعد از بررسی نظرم رو بهتون میگم.

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #62
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط titery نمایش پست ها
    سلام.فایلی که شما زحمتش رو کشید فقط در سمپل دوم(سپل پست 56) با تغییر نام به GUI_WIDGET_GraphXYDemo.c بدون خطا کامپایل شد اما همچنان ال سی دی سفید سفیدهست.
    در سمپل اول (پست 65) هم با فایل SEGGERDEMO.c ترکیبش کردم ولی هیچ تغییر در نمایش روی ال سی دی ایجاد نشد(همان 13 نمونه قبل تغییر را نمایش می داد)
    میشه زحمت یک تغییر در همان سمپل اول(پست 65) را بکشید؟
    اینم SEGGERDEMO.c تغییر یافته شده.
    اگر این فایلSEGGER_DEMO در Keil اضافه شده (در شاخه Application احتمالا)، لطفا حذفش کنید. فایلی که من دادم باید در پروژه ای که گفتید کار می کنه(سمپل اول اگه اشتباه نکنم که توی دی وی دی بوده و مثالها رو اجرا میکنه)، قرار بگیره. متوجه نشدم چرا نام فایلی که من فرستادم رو به GUI_WIDGET_Graph.. تغییر دادید؟؟؟؟!!؟

    اینکه گفتید صفحه سفیده یعنی دستور GUI_Init کار نکرده اون هم بعلت اینکه LCD درست کانفیگ نشده
    ویرایش توسط mansoory : 17-02-2013 در ساعت 10:13

  5. کاربران : 3 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


  6. #63
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mansoory نمایش پست ها
    اگر این فایل در Keil اضافه شده (در شاخه Application احتمالا)، لطفا حذفش کنید. فایلی که من دادم باید در پروژه ای که گفتید کار می کنه، قرار بگیره. متوجه نشدم چرا نام فایلی که من فرستادم رو به GUI_WIDGET_Graph.. تغییر دادید؟؟؟؟!!؟
    اگه یکی از فایل های application(سمپلی که کار میکنه) رو حذف کنم موقع کامپایل خطا میده و اگر فایل شما را به همان اسم خودش در این پوشه بزارم،اصلا کیل لودش نمیکنه برای همین با تغییر نام به یکی از فایل های معرفی شده میخواستم به برنامه اضافه اش کنم
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Capture.JPG
مشاهده: 116
حجم: 59.8 کیلو بایت  
    فايل هاي پيوست شده فايل هاي پيوست شده

  7. #64
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط titery نمایش پست ها
    اگه یکی از فایل های application(سمپلی که کار میکنه) رو حذف کنم موقع کامپایل خطا میده و اگر فایل شما را به همان اسم خودش در این پوشه بزارم،اصلا کیل لودش نمیکنه برای همین با تغییر نام به یکی از فایل های معرفی شده میخواستم به برنامه اضافه اش کنم
    همه Application ها رو حذف کنید(با انتخاب فایل در keil وزدن کلید del ).( از keil نه اینکه از هارد پاک کنید). بعد فایلی که من دادم رو اضافه کنید ( دوبار روی Application در Keil کلیک کنید و فایل رو بهش معرفی کنید)-
    پیشنهاد می کنم مجله PMM 1 و 2 رو بخونید
    ویرایش توسط mansoory : 17-02-2013 در ساعت 10:24

  8. تشکرها از این نوشته :


  9. #65
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mansoory نمایش پست ها
    همه Application ها رو حذف کنید.( از keil نه اینکه از هارد پاک کنید). بعد فایلی که من دادم رو اضافه کنید ( دوبار روی Application در Keil کلیک کنید و فایل رو بهش معرفی کنید)
    کاری که شما فرمودید انجام دادم این خطا رو میده
    .\Output\LPC1788_EA_LPC1788_KEIL_CMSIS\Debug_FLASH \Obj\EMWIN516.axf: Error: L6218E: Undefined symbol main (referred from rtentry2.o).
    Target not created

  10. #66
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mbntechco نمایش پست ها
    سلام به عزیزانی که مثل من درگیر این پروژه هستند،به نظر من بهتره اول تعیین کنیم که قراره تغییرات مورد نظرمونو روی برنامه همراه برد اعمال کنیم یا روی برنامه سایت lpcware تغییراتو اعمال کنیم.البته برنامه داخل dvd به نظرم قابل فهم تره و واسه سایز اسکرین های مختلف قابل تغییره.ببخشید که نمیتونم کمکی بکنم چون کاملا گیج شدم
    شما از کدوم برد استفاده می کنید و ال سی دی تون چیه؟

    نقل قول نوشته اصلی توسط titery نمایش پست ها
    کاری که شما فرمودید انجام دادم این خطا رو میده
    .\Output\LPC1788_EA_LPC1788_KEIL_CMSIS\Debug_FLASH \Obj\EMWIN516.axf: Error: L6218E: Undefined symbol main (referred from rtentry2.o).
    Target not created
    در شاخه System فایلی به نام Main.C حذف شده. (در Keil). اون شاخه رو ببینید و اگر نیست، در هارد دیسک در فولدر System قرار گرفته، به کیل اضافه کنید.
    ویرایش توسط mzarkoob : 04-04-2014 در ساعت 02:34 دلیل: ادغام

  11. #67
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mansoory نمایش پست ها
    شما از کدوم برد استفاده می کنید و ال سی دی تون چیه؟
    برد lpc1788 سایت و ال سی دی 4.3 اینچ

    در این برنامه فولدری به نام سیستم وجود نداره،من فقط از پوشه application حذف کردم و همین برنامه در صورت تغییر ندادنش خطایی نمیده

    سلام
    پروژه در حد نمایش یک اسلاید کار کرد خلاصه کار هایی که روی سمپل(پست 65) انجام دادم را در دو عکس زیر قرار دادم و در نهایت هم این سمپل را قرار می دهم الان سرعت کم هست خود سمپل رو بعدا آپ میکنم

    حال چطور میتوانیم محل نمایش یک پنجره را جابجاکنیم و چطور یک سمپل از پیش ساخته شده رو (مثل کلیومتر) را نمایش دهیم؟؟

    برای نمایش دو اسلاید،
    دو اسلاید با guibuilder ذرست کردم و نام تابع های همنام موجود در این دو را به صورت دستی تغییر دادم(تا تکراری نباشند که keil خطا دهد)
    با note pad یک فایل c. ایجاد و درون ان تابع main task ایجاد کردم و درون حلقه while نام دو تابع آخر موجود در اسلاید را فراخوانی کردم و این سه فایل را دز پوشه application قرار و فراحوانی کردم این دو اسلاید پشت سر هم در lcd نمایشداده میشه.
    حال با guibuilder چطور میشود چند اسلاید تولید کرد که اسم تابع های ان ها تکراری نباشد؟

    با تاچ در emwine چطور باید کار کرد مثلا ، زدن یک دکمه باعث رفتن به یک اسلاید دیگه شود؟
    تاچ رو باید جدا گانه برنامه نویسی کرد؟
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Capture.jpg
مشاهده: 124
حجم: 146.2 کیلو بایت  
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط mzarkoob : 04-04-2014 در ساعت 02:37 دلیل: ادغام

  12. #68
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    اگر تابعMain یا فایل Main.c را پیدا نکردید می توانید این کد را به فایلتان اضافه کنید:

    کد:
    #ifndef _WINDOWS
    #include "HWConf.h"
    #endif
    
    #ifdef __CROSSWORKS_ARM
    extern void __low_level_init(); // hwconf.c
    #endif
    
    void MainTask(void);  // Defined in SEGGERDEMO.c
    
    /*********************************************************************
    *
    *       main
    */
    void main(void) {
      #ifdef __CROSSWORKS_ARM
      __low_level_init();
      #endif
      #ifndef _WINDOWS
      HW_X_Config();      // Initialization of Hardware
      #endif
      MainTask();         // emWin application
    }
    سلام.
    کسی تونست lcd رو کانفیگ کنه؟
    مشکلی نبود؟
    بریم سر قسمت تاچ؟
    ویرایش توسط mzarkoob : 04-04-2014 در ساعت 02:41 دلیل: ادغام

  13. کاربران : 2 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


  14. #69
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    دوستان اگه فایل های EMwin پورت شده برای STM32 رو هم داشتید قرار بدید تا ماهم بیائیم تو کار
    *** اللّهم عجّل لولیک الفرج ***

  15. #70
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2007
    نام
    مجید بوکانی نژاد
    نوشته ها
    30
    تشکر
    56
    تشکر شده 30 بار در 15 پست

    پیش فرض

    مهندس منصوری متاسفانه من موفق نشدم فایل خود segger رو اسفاده کنم چون ظاهرا اون برنامه واسه ال سی دی 4.3 هست ولی ال سی دی من 5 اینچ هست،تا این لحظه فقط برنامه تست داخل دی وی دی خود coreboard رو نصب کردم چون داخل فایل glcd.h تونستم ال سی دی 5 اینچیو انتخاب کنم

  16. تشکرها از این نوشته :


  17. #71
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mbntechco نمایش پست ها
    مهندس منصوری متاسفانه من موفق نشدم فایل خود segger رو اسفاده کنم چون ظاهرا اون برنامه واسه ال سی دی 4.3 هست ولی ال سی دی من 5 اینچ هست،تا این لحظه فقط برنامه تست داخل دی وی دی خود coreboard رو نصب کردم چون داخل فایل glcd.h تونستم ال سی دی 5 اینچیو انتخاب کنم
    یکی دو روز به من وقت بدید، برای LCD 1788 . درایور emwin رو آماده کنم. از titery فایلهاش رو گرفتم و بزودی ردیفش می کنم.
    مثالی که توی دی وی دی شما هست همون emwin 5.16 است؟

  18. کاربران : 2 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


  19. #72
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Doloop نمایش پست ها
    دوستان اگه فایل های EMwin پورت شده برای STM32 رو هم داشتید قرار بدید تا ماهم بیائیم تو کار
    فکر نکنم کار خاصی لازم داشته باشه. چون برای Cortex-M4 و Cortex-M3 کتابخانه کامپایل شده توی فولدر Segger شاخه ای که keil نصب شده وجود داره و کاری که شما باید بکنید این دوتاست:

    1- راه اندازیSystick برای استفاده emwin:
    یه فایل به نام GUI_X.C در شاخه samples وجود داره. اونجا متغیری به نام Time_MS یا OS_Time_MS رو می بینید. باید کاری کنید که هر یک میلی ثانیه یک واحد به اون اضافه بشه. راه مناسب استفاده از systick است.

    2- مشخص کردن LCD: باتوجه به توضیحات قبلی

    مشکلی بود من درخدمتم

  20. کاربران : 7 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


  21. #73
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2007
    نام
    مجید بوکانی نژاد
    نوشته ها
    30
    تشکر
    56
    تشکر شده 30 بار در 15 پست

    پیش فرض

    بله مهندس جان،ورژن 5.16 هست،تفاوت فایل همراه دی وی دی با فایلی که تو سایت segger یا LPCWARE هست زیاده،انگار یه جورایی برای COREBOARD تغییر داده شده،اگه دسترسی ندارید بفرمایید براتون بفرستم.ممنون از همکاریتون

  22. تشکرها از این نوشته :


  23. #74
    کاربر فعال pooriya آواتار ها
    تاریخ عضویت
    Nov 2008
    نام
    پوریا علیزاده
    نوشته ها
    316
    تشکر
    163
    تشکر شده 676 بار در 217 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Doloop نمایش پست ها
    دوستان اگه فایل های EMwin پورت شده برای STM32 رو هم داشتید قرار بدید تا ماهم بیائیم تو کار
    سلام
    مهندس پورت این rtosر روی میکروهائی مثل 1768 و stm32f103 زیاد به صرفه نیست چون علاوه بر حافظه کم این میکرو ها برای استفاده از اکثر امکانات این سیستم عامل از نظر سرعت هم یه مقدار کم میارن،مخصوصا stm32f103 البته سرعت اجرا به عوامل زیادی بستگی داره.برای میکروهای ذکر شده در بالا بهترین همون ucgui3.98 یا ucgui 4 هستش.
    ولی برای میکروهائی مثل 1788 و stm32f407 می شه به راحتی استفاده کرد.برای برد Discovery قبلا پورت شده emwin رو گذاشته بودم.
    ایـــــــــران میـــــــکرو ™ - مشاهده یک موضوع - شروع کار با برد Discovery kit for STM32 F4 series - with STM32F407 MCU

  24. کاربران : 5 تشکر کرده اند از شما pooriya برای ارسال این پست سودمند:


  25. #75
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Doloop نمایش پست ها
    دوستان اگه فایل های EMwin پورت شده برای STM32 رو هم داشتید قرار بدید تا ماهم بیائیم تو کار
    سلام من یک کتابخونه های پورت شده برای stm دارم منتها مال stm32f407 هست حجمش حدود 30mb هست فکر کنم از فروم stm همین سایت دانلود کردم.اگر پیدا نکردید بگید تا آپ کنم؟
    ویرایش توسط titery : 19-02-2013 در ساعت 21:47

  26. تشکرها از این نوشته :


  27. #76
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Doloop نمایش پست ها
    دوستان اگه فایل های EMwin پورت شده برای STM32 رو هم داشتید قرار بدید تا ماهم بیائیم تو کار
    سلام
    مهندس تو این مسیر پیداش کردم اما خودم باهاش کار نکردم!
    کد:
    C:\Keil4.53_ITD\ARM\Boards\Keil\MCBSTM32C\emWin
    _____________________________________
    _____________________________________

  28. کاربران : 5 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  29. #77
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام
    مهندس تو این مسیر پیداش کردم اما خودم باهاش کار نکردم!
    کد:
    c:\keil4.53_itd\arm\boards\keil\mcbstm32c\emwin
    دستت درد نکنه
    واقعا عالی بود. فکر کنم با دیدن این مثالها،مشکل همه با lcd حل بشه.

  30. کاربران : 2 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


  31. #78
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2007
    نام
    مجید بوکانی نژاد
    نوشته ها
    30
    تشکر
    56
    تشکر شده 30 بار در 15 پست

    پیش فرض

    از دوستان خبری نیست،ظاهرا مهندسین عزیز مشغول کشف emwin هستند،مارو بی نصیب نزارید،فقط اگه میشه از lpc1788 خارج نشید که ثواب داره.ممنون

  32. تشکرها از این نوشته :


  33. #79
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    سلام.
    انشالله که همگی ال سی دی رو راه انداخته باشند. امروز درباره راه اندازی تاچ توضیح میدم. فقط قبلش باید یه برنامه کوچک بنویسیم:

    قبلا توضیح دادم که باید در تابع MainTask برنامه اصلی نوشته بشه. ولی این الزامی نیست.
    در تابع Main هم میشه برنامه رو نوشت:
    کد:
    #include "LPC17xx.h"         
    #include "system_LPC17xx.h"  
    #include "HWConf.h"
    #include "global.h"		//Defines U8,U16,…
    
    int main()
    {
    	int i=0;
    	_low_level_init(); // Updating PLL Settings
    	HW_X_Config();	   // Initializing Systick Interrupt..
    	
    	//Main Program Starts HERE////
    	GUI_Init();
    	GUI_DispStringAt("Hello World!",10,10);
    	while(1)
    	{
    		GUI_DispDecAt(i,30,30);
    		i++;
    		if(i>9999) i=0;
    	}
    	
    }
    Includeها رو ببینید. تابع main با اجرای دوتابع شروع میشه . اولی _low_level_init() هست که کارش فراخونی تابعی از CMSIS به نام SystemCoreClockUpdate است. تابع دوم هم کارش اینه که وقفه systick رو راه اندازی می کنه. این وقفه برای اجرای تابع GUI_Delay ضروریه.
    اصل برنامه با راه اندازیGUI بوسیله دستور GUI_Init شروع میشه. این دستور به نوبه خودش توابع زیر رو فراخوانی میکنه:[PHP]
    1- GUI_X_Config()
    2- LCD_X_Config()
    3- LCD_X_DisplayDriver[/PHP]
    درصورتیکه هرکدوم از این توابع درست تعریف نشده باشند خطای کامپایلر خواهیم داشت یا اینکه LCD کار نمیکنه.
    تابع اول محلش در فایل GUIConf.c است و کارش اینه که حافظه مجازی رو برای emwin تنظیم می کنه. تابع دوم و سوم برای تعریف و کانفیگ کردن LCD است.
    Emwin دستورات متنوعی برای نمایش متن و اعداد داره. پیشنهاد می کنم به فایل راهنما مراجعه کنید. از اینجا به بعد اگر با eclipse یا visual studio کار نکنید به مشکل می خورید. چون تنوع دستورات و شباهت اسامی در emwin خیلی زیاده و نمیشه توابع رو حفظ کرد.
    دستور بعد همونطور که از اسمش پیداست برای ترسیم یک متن در مختصات مشخص شده بکار میره. ولی با فونتی که بصورت default در فایل GUIConf.h مشخص شده. خط بعد هم یک عدد صحیح رو درمختصات مشخص شده نشون میده.
    اگه همه چیز درست باشه این برنامه باید کار کنه و شما سرعت نمایش اعداد رو خواهید دید.
    در پست بعدی تنظیمات تاچ رو توضیح می دهم
    ویرایش توسط mansoory : 21-02-2013 در ساعت 12:48

  34. کاربران : 5 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


  35. #80
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    پیکربندی تاچ:
    ابتدا باید خودتون تاچ اسکرین رو بصورت مجزا راه اندازی کرده باشید. اگه این مساله رو حل کردید به ادامه توضیحات توجه کنید.:
    من از دو فایل Touchpanel.h و Touchpanel.c که در سی دی همراه برد بود استفاده کردم. ضمنا درایور تاچ هم ADS7846 است.
    توابع زیر در این فایلها وجود داره:
    کد:
    void TP_Init(void);	
    Coordinate *Read_Ads7846(void);
    void TouchPanel_Calibrate(void);
    void DrawCross(uint16_t Xpos,uint16_t Ypos);
    void TP_DrawPoint(uint16_t Xpos,uint16_t Ypos);
    uint8_t setCalibrationMatrix( Coordinate * displayPtr,Coordinate * screenPtr,Matrix * matrixPtr);
    uint8_t getDisplayPoint(Coordinate * displayPtr,Coordinate * screenPtr,Matrix * matrixPtr );
    int	Read_X(void);
    int	Read_Y(void);
    توابع TP_Init و Read_X و Read_Y و Touchanel_Calibrate برای کانفیگ کردن تاچ استفاده می شود. ضمنا باید پایه ای از میکرو که اینتراپت ADS7846 بهش وصل شده رو هم بدونید. که خیلی مهمه.

    برای تنظیم کردن تاچ، ابتدا در تابع LCD_X_DisplayDriver بعد از دستور _initController باید تاچ رو initialize کنید. می تونید داخل تابع _initController هم این کار رو انجام بدهید.به هرحال بعد از تعریف LCD باید اینکار انجام بشه.
    سپس فایل GUI_X_Touch_StoreState.c رو باز کنید.
    تابعی به نام TouchTask وجود داره که این تابع وظیفش کنترل دایم تاچ است که کاربر اون رو لمس کرده یا نه؟
    بنابراین این تابع باید مرتب فراخوانی بشه. اگر از سیستم عامل استفاده می کنید. این تابع رو بصورت task تعریف کنید.والا باید از وقفه تایمر استفاده کنید و این تابع رو فراخوانی کنید.
    داخل تابع بلافاصله پس از دستور while یک متغیر به نام Pressed می بینید که مقداری نداره. این متغیر باید طوری تعریف بشه که با فعال شدن پایه IRQ ADS7846 مقدارش ست بشه. من اینطوری انجامش دادم:
    کد:
    while(1)
      {
    
    
    
    
    	  Pressed=(LPC_GPIO2->FIOPIN)&(1<<TP_IRQ_PIN_NUM);
    	if(Pressed==0)
    	{
    درصورتیکه کاربر تاچ رو لمس کنه پایه IRQ اون صفر میشه. بنابراینPressed=0 خواهد شد.
    سپس دومتغیر x,y باید با مقادیر خروجی تاچ پر شوند:
    کد:
    if(Pressed==0)
    	{
          x = Read_X();// TBD: Insert function which reads current x value
          y = Read_Y();// TBD: Insert function which reads current y value
    خب کار ما تقریبا تمومه. نکته ای که مهمه اینه که مختصات توسط دستور GUI_TOUCH_StoreState به emwin اعلام میشه. درصورتیکه کاربر تاچ رو لمس نکرده باشه مقدار -1 ارسال میشه. شما هر وقت به مقادیر Touch نیاز داشتید می تونید متغیری از نوع GUI_PID_State تعیریف کنید و با دستور GUI_TOUCH_GetState(&xxx( به مقادیر مختصات و اینکه کاربر تاچ رو لمس کرده یا نه دسترسی پیدا کنید...
    اگر فکر میکنید کار تموم شده اشتباه می کنید. فوت کوزه گری مونده: حالا بایدفایل GUI_X_Touch_Analog.c رو باز کنید. Emwin هنوز نمیتونه با تاچ کار کنه. چون مختصات باید به قسمت PID منتقل بشه. این قسمت کارش کنترل و هماهنگی بین تاچ- ماوس و کیبرده و کلا ورودی های emwin است.
    در فایل GUI_X_Touch_Analog.c بصورت زیر تغییراتی اعمال کنید:
    کد:
    #include "GUI.h"
    #include "TouchPanel.h"
    GUI_PID_STATE tc;
    void GUI_TOUCH_X_ActivateX(void) {
    //	TP_Init();
    }
    
    void GUI_TOUCH_X_ActivateY(void) {
    //	TP_Init();
    
    }
    
    int  GUI_TOUCH_X_MeasureX(void) {
    //	Read_X();
    	GUI_TOUCH_GetState(&tc);
      return tc.x;
    }
    
    int  GUI_TOUCH_X_MeasureY(void) {
    	GUI_TOUCH_GetState(&tc);
    return tc.y	;
    }
    خب حالا دیگه حله.
    در تابع Main پس از GUI_Init دستور GUI_CURSOR_Show() رو قراردهید. خب الان دیگه باید تاچ کار کنه...
    برای کالیبره کردن هم یه فایل به نام TouchCalc.c آپ کردم که در واقع از UCGUI کش رفتم. این تابع_ExecCalibration(void) کالیبره رو بعد از GUI_Init بلافاصله فراخوانی کنید تا کالیبراسیون انجام بشه. اگه مقادیر کالیبراسیون رو دارید که کارتون ساده تر میشه وفقط کافیه که مقادیرتون رو توسط دستور GUI_TOUCH_Calibrate بهش اعلام کنید.
    مشکلی بود درخدمتتون هستم.فایلهای مربوطه رو ضمیمه کرده ام.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip Touch_.zip (8.7 کیلو بایت, 428 نمايش)
    ویرایش توسط mansoory : 21-02-2013 در ساعت 10:45

  36. کاربران : 12 تشکر کرده اند از شما mansoory برای ارسال این پست سودمند:


صفحه 4 از 56 نخستنخست 123456789101112131415161718192021222354 ... آخرینآخرین

موضوعات مشابه

  1. [سوال] جزوه آموزشی برد آموزشی lpc1768
    توسط pooriya_nic18 در انجمن LPC series (NXP)
    پاسخ: 5
    آخرين نوشته: 07-12-2013, 14:49
  2. ثبت نام در مسابقات رباتیک وزارت آموزش و پرورش
    توسط elhghasemi در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 0
    آخرين نوشته: 03-08-2012, 21:14

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •