NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 1306 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 2 از 56 نخستنخست 12345678910111213141516171819202152 ... آخرینآخرین
نمایش نتایج: از 21 به 40 از 1104

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

  1. #21
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    سلام به همگی
    دوستان emwin رو تا حالاتست نکرده بودن دیشب تست کردم و واقعا خوشم ازش
    فقط نکته ای که هست رم و فلش بالاتری میخواد با 1788 برد فروشگاه تست کردم




    فیلمش هم گرفتم تا ببینید
    Dropbox - HY lpc1788.mp4 - Simplify your life
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

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


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

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

    پیش فرض

    من هم چک کردم البته با برد LPC1768-Mini DK
    با اینکه ال سی دی اون سریاله ولی خیلی عالی کار می کنه. من موفق شدم EmWin رو توی سیستم عامل RTX با تاچ اجرا کنم که همین مساله باعث شد 40 کیلوبایت حافظه رم مصرف بشه. البته حداقل از فلش فقط 60 کیلوبایت مصرف میشه.
    این رو هم بگم که مجبور شدم از خیلی از قابلیتهای EmWin مثل Fading و Virtual Screen صرف نظر کنم.
    اگه می خواهید از همه قابلیتهای اون استفاده کنید به رم بالا (حداقل96 کیلوبایت) نیاز دارید.

    یک سوال دارم. از آقای زارعی: آیا شما GUI_SUPPORT_MEMDEV رو set کرده بودید؟(در فایل GuiConfig.h)
    ویرایش توسط mansoory : 24-01-2013 در ساعت 10:15

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


  6. #23
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mansoory نمایش پست ها
    من هم چک کردم البته با برد LPC1768-Mini DK
    با اینکه ال سی دی اون سریاله ولی خیلی عالی کار می کنه. من موفق شدم EmWin رو توی سیستم عامل RTX با تاچ اجرا کنم که همین مساله باعث شد 40 کیلوبایت حافظه رم مصرف بشه. البته حداقل از فلش فقط 60 کیلوبایت مصرف میشه.
    این رو هم بگم که مجبور شدم از خیلی از قابلیتهای EmWin مثل Fading و Virtual Screen صرف نظر کنم.
    اگه می خواهید از همه قابلیتهای اون استفاده کنید به رم بالا (حداقل96 کیلوبایت) نیاز دارید.

    یک سوال دارم. از آقای زارعی: آیا شما GUI_SUPPORT_MEMDEV رو set کرده بودید؟(در فایل GuiConfig.h)
    نه مثال کامل بود برای استفاده در السیدی های مختلف فقط باید GLCD.h رو ویرایش کنید
    در ضمن تایمینگ السیدی 4.3 و 5 فرق داره که حتما باید لحاظ بشه البته سه خط کدش بیشتر نیست
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

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


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

    پیش فرض

    فیلم رو دیدم. پرش داره که.
    احتمالا GUI_SUPPORT_MEMDEV صفره. کار این ماکرو اینه که به EmWin اعلام کنه که از حافظه مجازی استفاده کنه. در اینصورت بعد از محاسبات ابتدا مقدار پیسکلهای ناحیه ای که قراره رسم بشه، در حافظه رم میکرو قرار می گیرند و بعد با استفاده از دستور انتقال پی در پی، به ال سی دی منتقل میشوند. این قابلیت مخصوصا وقتیکه ال سی دی سریال باشه سرعت نمایش رو خیلی بالامیبره

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


  10. #25
    کاربر فعال
    تاریخ عضویت
    Nov 2008
    نوشته ها
    149
    تشکر
    64
    تشکر شده 161 بار در 54 پست

    پیش فرض

    همین مساله باعث شد 40 کیلوبایت حافظه رم مصرف بشه
    مگه حافظه در دستري 1768، 32 كيلوبايت نيست؟

    فقط نکته ای که هست رم و فلش بالاتری میخواد با 1788 برد فروشگاه تست کردم
    مگه دروايور هايي مثل ssd1963 و ... خودشون رم ندارن. پس چرا رم بيشتر.

    اگر با اين وضعي كه باشه كه ميگيد. كتابخونه خوبي نست ديگه هيچي رم براي كارهاي ديگه مثل برنامه ها و ... نمي مونه

  11. #26
    کاربر دائمی
    تاریخ عضویت
    Jun 2009
    نام
    روح الله خرم بخت
    نوشته ها
    403
    تشکر
    456
    تشکر شده 591 بار در 214 پست

    پیش فرض

    اگه میشه تجربه هاتون رو در کار کردن با این کتاب خونه این جا قرار بدید تا ما هم استفاده کنیم .
    ممنون

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

    پیش فرض

    نقل قول نوشته اصلی توسط pswin نمایش پست ها
    مگه حافظه در دستري 1768، 32 كيلوبايت نيست؟



    مگه دروايور هايي مثل ssd1963 و ... خودشون رم ندارن. پس چرا رم بيشتر.

    اگر با اين وضعي كه باشه كه ميگيد. كتابخونه خوبي نست ديگه هيچي رم براي كارهاي ديگه مثل برنامه ها و ... نمي مونه
    حافظه 1768-64 کیلوبایته.
    همه درایورها خودشون رم دارند. مثلا ili9320 حدود 177000بایت رم داره ولی مساله چیز دیگه ای است. فرض کنید یه پنجره نیاز به ترسیم مجدد داره. بجای اینکه پیکسل به پیکسل داده ها به ال سی دی منتقل بشه، اول ترسیم کامل در حافظه میکرو انجام میشه (همون منطقه ای که نیاز به ترسیم داره). بعد داده های پردازش شده اون ناحیه بصورت پی در پی به درایور منتقل میشه. در صورتیکه داده های هرپیکسل جداگونه منتقل بشه اون وقت برای هر پیکسل باید یکبار دستورSetPoint هم صادر بشه. ولی در حالتی که داده ها پی در پی ارسال بشه مثل EEPROM اول داده آدرس شروع GRAMارسال میشه و بعد یک ردیف داده پیکسلها دنبال هم فرستاده میشه تا انتهای خط. خط بعد هم به همین ترتیب... و اینطوری سرعت انتقال اطلاعات خیلی خیلی بالاتر میره.(فکر کنم حتی مختصات XوY نقاط هم حذف میشه )
    این حالت در Emwin با یک کردن ماکروی GUI_SUPPORT_MEMDEV در فایل GuiConf.h فعال میشه
    ویرایش توسط mansoory : 24-01-2013 در ساعت 13:12

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


  14. #28
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    درسته ، منظور ایشون استفاده از بافر گرافیکی هست که تو برنامه نویسی کامپیوتر هم استفاده میشه . درواقع موقع تغییر در یک ناحیه تصویر تو کامپیوتر از دستورات Get_Image یا Put_Image استفاده میکنیم ..

    کتابخانه هایی مثل همین emWin و uCGUI و ... گرچه خیلی کامل هستند و سرعت برنامه نویسی رو بالا میبرند ولی نباید فراموش کرد که در ازای اون باید مقدار زیادی رام و مخصوصا رم رو فدا کرد . در میکرو های با ظرفیت پایین بهتره اشکال گرافیکی ساخته بشه تا جا برای برنامه اصلی هم باشه !

  15. کاربران : 5 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  16. #29
    کاربر فعال
    تاریخ عضویت
    Nov 2008
    نوشته ها
    149
    تشکر
    64
    تشکر شده 161 بار در 54 پست

    پیش فرض

    سلام

    حافظه 1768-64 کیلوبایته.
    آره 64 كيلو بايت هست. منتها 32 تاي اون براي دستگاه هاي جانبي كنار گذاشته شده. حتي فرض هم كنيم كه 64 كيلو هم در دسترس باشه بازهم 40 كيلو فقط براي ui يه مقدار زياده. دوستان واقعا براي خود من هم ميزان خافظه در دسترس 1768 سوال شده.

    من الان دارم روي يه پروژه كار ميكنم و تمام دنگ و فنگم شدن ميزان sram. اگر ايم ميزان 64 باشه كه عاليه. يعني بهتر از 32 ايي هست كه توي يوزر منوال گفته. خود من دارم يك كتابخونه طراحي ميكنم كه تا اينجاي كار حدود 10 كيلو رم مصرف ميكنه اما كار كردن با 1768 و ... هلو ميكنه. به زودي ( توي 4و5 ماه آينده خبرش رو ميدم)

    همه درایورها خودشون رم دارند. مثلا ili9320 حدود 177000بایت رم داره ولی مساله چیز دیگه ای است. فرض کنید یه پنجره نیاز به ترسیم مجدد داره. بجای اینکه پیکسل به پیکسل داده ها به ال سی دی منتقل بشه، اول ترسیم کامل در حافظه میکرو انجام میشه (همون منطقه ای که نیاز به ترسیم داره). بعد داده های پردازش شده اون ناحیه بصورت پی در پی به درایور منتقل میشه. در صورتیکه داده های هرپیکسل جداگونه منتقل بشه اون وقت برای هر پیکسل باید یکبار دستورSetPoint هم صادر بشه. ولی در حالتی که داده ها پی در پی ارسال بشه مثل EEPROM اول داده آدرس شروع GRAMارسال میشه و بعد یک ردیف داده پیکسلها دنبال هم فرستاده میشه تا انتهای خط. خط بعد هم به همین ترتیب... و اینطوری سرعت انتقال اطلاعات خیلی خیلی بالاتر میره.(فکر کنم حتی مختصات XوY نقاط هم حذف میشه )
    این حالت در Emwin با یک کردن ماکروی GUI_SUPPORT_MEMDEV در فایل GuiConf.h فعال میشه
    کتابخانه هایی مثل همین emWin و uCGUI و ... گرچه خیلی کامل هستند و سرعت برنامه نویسی رو بالا میبرند ولی نباید فراموش کرد که در ازای اون باید مقدار زیادی رام و مخصوصا رم رو فدا کرد . در میکرو های با ظرفیت پایین بهتره اشکال گرافیکی ساخته بشه تا جا برای برنامه اصلی هم باشه !
    خب بافر گرافيكي همون حافظه درايور هست ديگه كه توي PC بهش VRAM هم گفته ميشه. مساله اين نيست كه ديتا يهو يه جا بره يا تكه تكه. شما سه حالت ميتوني كار كني:

    1. ناحيه شروع GRAM رو مشخص كني و داده رو انتقال بدي. حالا اين داده مي خواد محاسبه شه يا اينكه مستقيما توسط هرچيزي مثل DMA ارسال بشه. مساله اينه كه توي اين حالت شما يه ناحيه مستطيلي داري و بايد اون رو پر كني.

    2. هر دفعه مختصاتي رو كه ميخواي بدي و داخلش بنويسي

    3. حافظه VRAM رو بصورت يك حافظه اكسترنال تعريف كني. و استفاده كني.

    و نتايج

    1. روش اول براي ارسال عكس و نمايش تمام صفحه مناسب هست و خيلي سريعه. سرعت پردازنده شما حدود 100 مگ هست و سرعت انتقال حدود 40 مگ بس هر چه قدر هم پردازش انجام بديد مشكلي پيش نمياد. (البته نه هرچقدر)

    2. اين روش كنده منتها مزيتش نسبت به روش اول اينه كه مي تونيد مواردي كه احتياج به شفافيت دارن مثل نمايش فونت رو به كمك نشون بديد.

    3. اگر داريور اين روش رو ساپورت كنه كه هم ili ميكنه و هم ssd . مي تونيد به صورت يك رم خارجي نوشتن رو انجام بديد و مابقي كارها رو بسپريد به ميكرو. ( تا اونجا كه مي دونم ميكرو هاي stm ، دقيقا stmf103zet اين قابليت رو داره در مورد مدلهاي ديگه مثل 1768 و ... مطمئن نيستم.

    من هر سه روش امتحان كردم و شخصا جواب هم گرفتم.
    ویرایش توسط pswin : 24-01-2013 در ساعت 17:31

  17. کاربران : 4 تشکر کرده اند از شما pswin برای ارسال این پست سودمند:


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

    پیش فرض

    نقل قول نوشته اصلی توسط pswin نمایش پست ها
    سلام

    آره 64 كيلو بايت هست. منتها 32 تاي اون براي دستگاه هاي جانبي كنار گذاشته شده. حتي فرض هم كنيم كه 64 كيلو هم در دسترس باشه بازهم 40 كيلو فقط براي ui يه مقدار زياده. دوستان واقعا براي خود من هم ميزان خافظه در دسترس 1768 سوال شده.
    ممنون از توضیحاتتون
    LCD که من استفاده می کنم سریاله _SPI__ به همین دلیل نمیشه باهاش مثل رم خارجی برخورد کرد.
    توی دیتاشیت 1768 درباره RAM اینطوری توضیح داده:
    1- 32KB of SRAM on the CPU with local code/data bus for high-performance CPU access
    2- Two / One 16kB SRAM Blocks with separate Access path for higher throughput. TheseSRAM blocks maybe used for Ethernet, USB, and DMA memory, AS WELL AS FOR GENERAL PURPOSE CPU INSTRUCTION AND DATA STORAGE.
    یعنی:
    32 کیلوبایت از رم فقط توسط CPU قابل استفاده است و 2تا بلوک 16 کیلوبایتی میتونه توسط Ethernet, Usb و DMA و همچنین CPU استفاده بشه.
    وقتی توسط Keil برنامه رو کامپایل کردم جمع سه بخش RO-data, RW-data و ZI-data حدود 40 کیلوبایت شد.(البته با درنظر گرفتن اینکه من از سیستم عامل RTX هم استفاده کردم که برخلاف انتظارم مقدار زیادی رم مصرف شد و شد این که ملاحظه می فرمایید وگرنه بدون RTX حدود 22 کیلوبایت مصرف میشه)
    RO-data=12kB
    RW-data=400byte
    ZI-data=29kB
    البته مفهوم این سه بخش رو نفهمیدم چیه و ممنون میشم اگه توضیح بدین.
    ----
    من دوتا مثال روی برد اجرا کردم و باهم مقایسه کردم. اولی UCOS 2+UCGUI که توی سی دی همراه برد وجود داشت و دومی هم مثالی بود که با EmWin 5.14 برای LPC1768 نوشته شده بود با ال سی دی SPI.مشاهده کردم که UCGUI برای هر ترسیم از SetPoint استفاده می کرد و سرعتش خیلی خیلی پایین بود، به حدی که اجرای یک دستور GUI_Clear() حدود 2 ثانیه وقت میبرد. تصمیم داشتم که برد رو پس بدم ولی وقتی با EmWin تست کردم از سرعتش شگفت زده شدم. وقتی فایل LCD_SPI.c رو مطالعه کردم متوجه شدم که ili9320 درحالت سریال یک دستوری داره که میشه برای نوشتن پی در پی روی حافظش استفاده کرد و توی فایل از این قابلیت استفاده شده بود. وقتی که درفایل GUIConf.h ماکروی GUI_SUPPORT_MEMDEV یک باشه سرعت خیلی خیلی بیشتره بطوریکه که پرش تصاویر تقریبا حذف میشه.
    ویرایش توسط mansoory : 26-01-2013 در ساعت 11:37

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


  20. #31
    کاربر فعال
    تاریخ عضویت
    Nov 2008
    نوشته ها
    149
    تشکر
    64
    تشکر شده 161 بار در 54 پست

    پیش فرض

    ۱۲ کیلو رم برای مصرف سیستم عامل خیلی خوبه. اون مزیتی رو که سیستم عامل فراهم میکنه ارزش ۱۲ کیلو رم رو داره.

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


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

    پیش فرض

    نقل قول نوشته اصلی توسط majidma3000 نمایش پست ها
    تا حالا کسی با emWin کار کرده؟ برای اجرا شدن به rtx نیاز داره؟
    برای اجرا اگه RTX یا RTOS دیگه باشه بهتره. در غیر اینصورت خودش از وقفه Systick استفاده می کنه.

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


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

    Red face

    نقل قول نوشته اصلی توسط pswin نمایش پست ها
    سلام

    آره 64 كيلو بايت هست. منتها 32 تاي اون براي دستگاه هاي جانبي كنار گذاشته شده. حتي فرض هم كنيم كه 64 كيلو هم در دسترس باشه بازهم 40 كيلو فقط براي ui يه مقدار زياده. دوستان واقعا براي خود من هم ميزان خافظه در دسترس 1768 سوال شده.
    درباره مقدار رم LPC1768 که بهش میشه دسترسی داشت تحقیق کردم. 64 کیلوبایت درسته. 32 کیلوبایت اول بصورت مستقیم توسط CPU قابل استفاده است و 32 کیلوبایت دوم هم آدرس شروعش با 32 کیلوبایت اولی فرق داره ولی مشکلی نیست و توسط CPU قابل دسترسی است. در Keil با تنظیماتی که در تصاویر پیوست می بینید می توانید به 32 کیلوبایت دوم دسترسی پیدا کنید.
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 1.png
مشاهده: 457
حجم: 46.0 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 2.png
مشاهده: 413
حجم: 42.7 کیلو بایت  

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


  26. #34
    کاربر علاقه مند majidma3000 آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    حسین منصوری
    نوشته ها
    92
    تشکر
    7
    تشکر شده 189 بار در 45 پست

    پیش فرض

    تو یوزرمنوال emWin نوشته برای استفاده از هرکدام از امکانات اون به چه مقدار رم نیاز داره.

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


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

    پیش فرض

    من یکم باهاش کار کردم و می تونم این مراحل رو توضیح بدم، ولی بهتره کسانی که مسلط هستند آموزش رو شروع کنند.
    مواردی که من یاد گرفتم:
    1-Config کردن LCD Spi و TouchScreen
    2- تنظیمات اولیه
    3- راه اندازی emwin در RTX(سیستم عاملی که در keil هست)
    4- نحوه ترسیم پنجره ها و تنظیم خواص آنها. کار با GUI_MEMDEVICE
    5- نحوه ترسیم و دسترسی به Widget ها(کنترل های Button , Text, labelو غیره) در emwin
    6- نحوه کار با CallBack ها (رویدادهای window manager مثل Button_click وغیره)
    این موارد رو با برد LPC1768-Mini-DK آزمایش کرده ام
    ویرایش توسط mansoory : 09-02-2013 در ساعت 09:27

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


  30. #36
    کاربر دائمی
    تاریخ عضویت
    Jun 2009
    نام
    روح الله خرم بخت
    نوشته ها
    403
    تشکر
    456
    تشکر شده 591 بار در 214 پست

    پیش فرض

    آقای منصوری شما هم شکسته نفسی میکنی ها ! خوب این چیزایی که کار کردید خیلی هم خوب و کامله و بقیه ی موارد دیگه در صورت راه اندازی اولیه کاری نداره . خیلی ممنون میشیم اینجا قدری ما رو هم فیض رسانی کنید .

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


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

    پیش فرض

    نقل قول نوشته اصلی توسط roohlla نمایش پست ها
    آقای منصوری شما هم شکسته نفسی میکنی ها ! خوب این چیزایی که کار کردید خیلی هم خوب و کامله و بقیه ی موارد دیگه در صورت راه اندازی اولیه کاری نداره . خیلی ممنون میشیم اینجا قدری ما رو هم فیض رسانی کنید .
    نه عزیز، شکسته نفسی چیه.
    تواین انجمن کسایی هستن که تسلط کافی روی emwinدارند و فن بیانشون هم خوبه. من از هرکدوم از بخشهایی که گفتم ، یه چیزایی درحد اینکه کار خودم راه بیافته فهمیدم. واقعا لازمه که دوستان دیگه ای که تسلط کافی دارند آموزش رو شروع کنند. اگه صلاح میدونید من هرچی یادگرفتم اینجا بگم ولی تضمین نمیکنم که 100 در100 درست باشه.

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


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

    پیش فرض

    باشه.
    اولین قدم اینه که emwin رو دانلود کنید. ورژن آخرش 5.18 است که قابلیتهای زیادی داره و به همون نسبت به RAM بیشتری برای اجرای موفق نیاز داره.
    شما باید ابتدا از سایت LPCWARE.com ورژن مورد نیازتون رو دانلود کنید. چیزی که من دانلود کردم ورژن 5.14 است (NXP_emWin514_MCB1700_BSP ). نسخه BSP خیلی بهتر از نسخه خام اونه چون شامل تنظیماتیه که ال سی دی رو برای emwin تعریف می کنه. خوشبختانه این ورژن 514 که دانلود شده برای LCD سریال بوده و من فقط زحمت معرفی پینها رو کشیدم.
    اگر شما از مد سریال استفاده نمی کنید اصلا ناراحت نباشید. ورژن 518 BSP برای LPC1788 و ال سی دی 16 bit تنظیم شده. فقط یادتون باشه توابع دسترسی به السیدی در emwin بسیار بهینه و ردیف شده است. نیازی نیست که شما از فایل glcd.c که بعنوان درایور ال سی دی همراهش فروخته میشه استفاده کنید. درمورد ال سی دی های سریال این هشدار خیلی جدیه چون باعث کاهش شدید سرعت نمایش میشه.
    امروز دفترم رو نیاوردم. انشالله 23 بهمن دفترم رو بیارم و چیزهایی که یادداشت کردم رو براتون بگم. این فایلها رو دانلود کنید. پیشنهاد می کنم هردو ورژن 518 و 514 رو دانلود کنید. دلیلش رو بعد عرض می کنم.
    518:
    emWin 5.18 board support package for EA1788 Board | www.LPCware.com


    514:
    NXP_emWin514_BSP | www.LPCware.com
    توضیح:
    ظاهرا این فایل در سایت تغییر کرده. الان که بازش کردم دیدم که برای LPC1788 تغییرش دادن.
    برای LPC1768 از این لینک استفاده کنید :
    https://www.dropbox.com/s/t7s8nkmhno...Win514_BSP.zip
    موفق باشین
    ویرایش توسط mansoory : 02-12-2013 در ساعت 10:10

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


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

    پیش فرض

    سلام.
    پس از دانلود فایلها باید اونها رو که دومرحله فشرده شده اند باز کنید. پس از باز کردن شاخه اصلی، مشاهده می کنید که یک فایل به نام Simulation وجود داره که می تونید از این فایل برای کد نویسی هاتون در Visual studio استفاده کنید (و البت شبیه سازی).

    خب بریم سر اصل مطلب.
    تنظیمات emwin چند مرحله داره که خیلی قشنگ توی راهنمای پی دی اف اون توضیح داده شده. این تنظیمات شامل مراحل زیر است
    1- مقدار حافظه ای که شما دوست دارید به emwin ببخشید. (برای استفاده بعنوان بافر گرافیکی)هرچی بیشتر بهتر.
    2- تنظیمات LCD
    3- مشخص کردن کد رنگ
    4- تابع init_controller
    این تنظیمات در فایلهای زیر هستند: GUIConf.c, LCDConf.c , GUI_X.c. یک فایل به نامSimConf.c هم هست که من نگاهش نکردم.
    تابعی به نام GUI_Init همه تنظیمات رو می خونه و اجرا میکنه. از LCD شروع کنیم.


    -----------------
    بخش اول LCD:
    emwin به دو روش با LCD کار میکنه. روش مستقیم و غیر مستقیم. در روش مستقیم LCD مانند یک حافظه RAM می مونه که بصورت موازی بهش دسترسی پیدا می کنیم. صفحه های 7 اینچ و بزرگتر همچین قابلیتی دارند. Emwin توصیه می کنه که اگه به سرعت نمایش خیلی بالا نیاز دارید از این LCD ها استفاده کنید. روش دوم غیر مستقیمه که دومرحله تنظیمات دارد. LCD که در برد LPC1768-mini-DK استفاده شده ili9320 است که بصورت SPI قابل استفاده است. اگر از روش مستقیم استفاده می کنید پردازنده 1768 به دردتون نمیخوره و باید به سراغ 1788 بروید.(چون LPC1788 واحد کنترل حافظه خارجی یا EMC داره)
    الان شما باید نوع صفحه نمایشتون رو باتوجه به توضیحاتی که دادم انتخاب کنید. به صفحه 909 Manual مراجعه کنید.درایور Ili9320 درشاخه GUI_FlexColor قرارداره.
    خبر خوب اینه که emwin زحمت کشیده و مجموعه ای از فایلهای تنظیمات برای LCDهای مختلف فراهم کرده. باتوجه به نوع LCD می تونید فایل LCDConf.c مربوطه رو از شاخه Samples\LCDConf پیدا کنید. هنگام پیداکردن اون به رزولوشن و بیت بر بپیکسل صفحه نمایشتون دقت کنید. درباره ili9320 باید 320*240 و نوع 16 بیت از شاخه GUI_FlexColor انتخاب بشه(متاسفانه برای 18 بیت اون فقط درایور دسترسی مستقیم نوشته شده). به دیتاشیت LCDتون مراجعه کنید. فایل LCDConf.c رو به همراه فایل LCDConf.h در فولدر Config کپی کنید.
    اگه از روش مستقیم استفاده می کنید، کار شما در این مرحله تقریبا تمومه و باید منتظر بشین تا بقیه تنظیمات رو خدمتتون عرض کنم.//////

    ---- دوستان هر اشکالی که از نظر فنی در مطالبی که من مینویسم مشاهده می کنید حتما بهم گوشزد کنید.ممنون میشم---
    ویرایش توسط mansoory : 01-12-2013 در ساعت 10:30

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


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

    پیش فرض

    فایل LCDConf.c رو باز کنید.
    در این فایل یک مشت توابع و ماکروها رو ملاحظه می فرمایید. اگر فایل رو درست انتخاب کرده باشین، توابعی به نام _write_reg یا set_reg می بینید که داخل توابع دیگه استفاده شده اند ولیکن خودشون تعریف نشده اند.(درفایلهای مربوط به LCD بادسترسی مستقیم این توابع داخل همان فایل تعریف شده اند)
    اصل ماجرا همین ها هستند.
    درواقع اینها توابعی هستند که مربوط به ارسال و دریافت یک بایت، دو بایت، 4 بایت و یا زنجیره ای از بایتها هستند. لیست توابعی که باید تعریف شود در صفحه915 راهنما وجود داره. برای بعضی از ال سی دی ها،emwin فایلهایی رو آماده کرده که می تونید در فولدر Sample\LCDX اونها رو پیدا کنید. در اینجا شما به فایل GLCD.C که همراه ال سی دی فروخته میشه نیاز دارید. فایل رو باز کنید و توابع write_reg یا set_reg رو با توابعی که در فایل GLCD.C برای این منظور نوشته شده اند مقایسه کنید. اگه اختلافی ندیدید به سلامتی زدید به هدف وگرنه باید اصلاحاتی انجام بدید تا این توابع درست کار کنند. توابعی که در آخرشون M هست مثل _write_reg08M برای انتقال زنجیره ای از بایتها کاربرد دارند. دقت کنید که تمام توابعی که در LCDConf.c برای تبادل اطلاعات با LCD اومده رو باید تعریف کنید.برای ili9320 که در مود سریال کار میکنه، این فایل قبلا آماده شده و در شاخه System\Hardware قرار گرفته. در آخر پینها رو باهم مطابقت بدهید. نکته ای که ممکنه باعث سردرگمی بشه حرف A0 و A1 هست که جلوی این توابع نوشته شده. این درواقع یک جور آدرس دهی است که در این مود دو آدرس 0 و 1 داریم و برای هر آدرس هم یک دسته توابع Write باید وجود داشته باشه. آدرس صفر برای ارسال/دریافت فرمان و آدرس 1 برای ارسال/دریافت داده مورد استفاده قرار میگیره.
    خب اگه همه موارد رو چک کردید به فایل LCDConf.C برگردید.
    ویرایش توسط mansoory : 11-02-2013 در ساعت 13:29

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


صفحه 2 از 56 نخستنخست 12345678910111213141516171819202152 ... آخرینآخرین

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

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

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

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