NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 1052 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 28 از 32 نخستنخست ... 91011121314151617181920212223242526272829303132 آخرینآخرین
نمایش نتایج: از 541 به 560 از 634

موضوع: فیلم آموزش Emwin با LPC1788 و تکمیلی lpc1768 رسید!

  1. #541
    کاربر علاقه مند omid_2132 آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    86
    تشکر
    89
    تشکر شده 55 بار در 18 پست

    پیش فرض

    نقل قول نوشته اصلی توسط yraeisi نمایش پست ها
    سلام.در اولین فرصت سعی میکنم یه مثال براتون بذارم.متاسفانه فعلا خیلی سرم شلوغه.شرمنده
    ممنون از همکاریتون.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #542
    کاربر علاقه مند omid_2132 آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    86
    تشکر
    89
    تشکر شده 55 بار در 18 پست

    پیش فرض

    جناب آقای رییسی من با شور و شوق زیاد منتظر مثال یاد شده هستم.البته هر وقت که فرصت کردین.

  4. #543
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    مهندس برای stm کی حاظر میشه . اگه من این فیلم بگیرم چرا نمیشه برای stm استفاده کرد.
    پورت کردنش خیلی فرق داره .
    و سوال بعدیم اینه که اگه من نخوام از سخت افزار آماده استفاده کنم به میکرو خودم چه قطعاتی باید اظافه کنم که بتونم از همه امکانات emwin استفاده کنم .
    سوال بعدیم اینه که چرا هر چی سرچ میکنم همه مثالها با lpc هست و با سایر میکرو ها نیست یا اگه هم باشه یه فیلم هست و مثالی نداره

  5. #544
    مدیر انجمن yraeisi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    یوسف رئیسی
    نوشته ها
    222
    تشکر
    9
    تشکر شده 182 بار در 100 پست

    پیش فرض

    نقل قول نوشته اصلی توسط jonbakhsh نمایش پست ها
    مهندس برای stm کی حاظر میشه . اگه من این فیلم بگیرم چرا نمیشه برای stm استفاده کرد.
    پورت کردنش خیلی فرق داره .
    و سوال بعدیم اینه که اگه من نخوام از سخت افزار آماده استفاده کنم به میکرو خودم چه قطعاتی باید اظافه کنم که بتونم از همه امکانات emwin استفاده کنم .
    سوال بعدیم اینه که چرا هر چی سرچ میکنم همه مثالها با lpc هست و با سایر میکرو ها نیست یا اگه هم باشه یه فیلم هست و مثالی نداره
    سلام.کلیات کار با emwin ربطی به نوع میکرو نداره.برای راه اندازی emwin فقط باید به اندازه کافی رم داشته باشین
    Hardware & Software designer
    Telegram:@y_r_z

  6. #545
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    ممنون .
    من اومدم فیلم آموزشی خرید کنم با شرکت تماس گرفتم که به من گفتند lpc با stm فرق داره و نمیتونم خرید کنم.
    کمترین رم که احتیاج داره چقدره و برای اینکه از همه امکانات استفاده کنیم چقدر رم احتیاج داره ؟؟؟

  7. #546
    مدیر انجمن yraeisi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    یوسف رئیسی
    نوشته ها
    222
    تشکر
    9
    تشکر شده 182 بار در 100 پست

    پیش فرض

    بله فرق داره .مثال هایی که تو این فیلم ها هست برای LPC هست.ولی کلیت کار با emwin ربطی به میکرو نداره .برای آموزش میتونید فیلم رو بگیرید و از مثال های خود کیل میتونید استفاده کنید:

    C:\Keil\ARM\Boards\Keil\MCBSTM32C\emWin
    C:\Keil\ARM\Boards\Keil\MCBSTM32E\emWin
    C:\Keil\ARM\Boards\Keil\MCBSTM32F200\emWin
    C:\Keil\ARM\Boards\Keil\MCBSTM32F400\emWin
    Hardware & Software designer
    Telegram:@y_r_z

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


  9. #547
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2016
    نوشته ها
    21
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام این ارور برای چی هست آقای رییسی
    قایل RTL.h هم تو پروژه گذاشتم

    compiling GUI_X_Touch_Analog.c...
    touch\appl.h(37): error: #20: identifier "BOOL" is undefined
    extern BOOL getline (char *, U32);
    touch\appl.h(38): error: #20: identifier "BOOL" is undefined
    extern BOOL getlineHid (char *, int );
    touch\GUI_X_Touch_Analog.c: 0 warnings, 2 errors
    compiling Touch_Cal.c...
    touch\appl.h(37): error: #20: identifier "BOOL" is undefined
    extern BOOL getline (char *, U32);
    touch\appl.h(38): error: #20: identifier "BOOL" is undefined
    extern BOOL getlineHid (char *, int );
    touch\Touch_Cal.c: 0 warnings, 2 errors
    compiling system_LPC177x_8x.c...
    compiling lpc177x_8x_clkpwr.c...
    compiling lpc177x_8x_gpio.c...
    compiling lpc177x_8x_emc.c...
    compiling lpc177x_8x_pinsel.c...
    compiling lpc177x_8x_ssp.c...
    compiling lpc177x_8x_timer.c...
    CMSIS\source\lpc177x_8x_timer.c(86): warning: #68-D: integer conversion resulted in a change of sign
    uint32_t tnum = -1;
    CMSIS\source\lpc177x_8x_timer.c: 1 warning, 0 errors
    compiling lpc177x_8x_uart.c...
    compiling lpc177x_8x_rtc.c...
    compiling debug_frmwrk.c...
    compiling lpc177x_8x_eeprom.c...
    compiling lpc177x_8x_adc.c...
    compiling lpc177x_8x_pwm.c...
    compiling lpc177x_8x_i2c.c...
    ".\Output\KAVIR.axf" - 4 Error(s), 6 Warning(s).
    Target not created.
    Build Time Elapsed: 00:00:07



  10. #548
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    نقل قول نوشته اصلی توسط yraeisi نمایش پست ها
    بله فرق داره .مثال هایی که تو این فیلم ها هست برای LPC هست.ولی کلیت کار با emwin ربطی به میکرو نداره .برای آموزش میتونید فیلم رو بگیرید و از مثال های خود کیل میتونید استفاده کنید:

    C:\Keil\ARM\Boards\Keil\MCBSTM32C\emWin
    C:\Keil\ARM\Boards\Keil\MCBSTM32E\emWin
    C:\Keil\ARM\Boards\Keil\MCBSTM32F200\emWin
    C:\Keil\ARM\Boards\Keil\MCBSTM32F400\emWin
    ممنون من فیلم خریدم فقط یه مشکلی.
    من مثال های خود کیل باز کردم . کامپایل که میکنم کلی اررور میده مثلا نوشته GUI.H نیست که واقعا هم این فایل کنار پروژه نبود.
    امکانش هست یه پروژه که با STM باشه و کامپایل بشه اینجا قرار بدید . ممنون میشم

  11. #549
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    سلام
    من کامپایل کردم کیل 4.74 خطا نداره که !
    کد:
    Build target 'MCBSTM32E'
    assembling startup_stm32f10x_hd.s...
    compiling system_stm32f10x.c...
    compiling LCDConf.c...
    compiling LCD_X_16BitIF_STM32.c...
    compiling JOY.c...
    compiling GUIConf.c...
    compiling GUI_X.c...
    compiling main.c...
    compiling GUIDEMO.c...
    compiling GUIDEMO_Automotive.c...
    compiling GUIDEMO_ColorBar.c...
    compiling GUIDEMO_Conf.c...
    compiling GUIDEMO_Cursor.c...
    compiling GUIDEMO_Graph.c...
    compiling GUIDEMO_Intro.c...
    compiling GUIDEMO_Listview.c...
    compiling GUIDEMO_Resource.c...
    compiling GUIDEMO_Speed.c...
    compiling GUIDEMO_Start.c...
    compiling GUIDEMO_TransparentDialog.c...
    compiling GUIDEMO_Treeview.c...
    linking...
    Program Size: Code=119580 RO-data=161028 RW-data=3292 ZI-data=54236  
    ".\obj\GUIDemo.axf" - 0 Error(s), 0 Warning(s).
    نمیشه که سمپل خود کیل در کامپایل خطا بده
    همه فایل های هدر که در کنار پروژه نمی ذاره . مثلا همین GUI.H در آدرس :
    C:\Keil\ARM\Segger\emWin\Include
    قرار دارد.

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


  13. #550
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    من با ورژن 5.1 کار میکنم
    اولین آدرس این خطا میده
    Error #542: API '::Board Support.emWin LCD:1.1(API)' required by component 'Keil.MCBSTM32C::Board Support:emWin LCD:SPI IF:2.0.0' is missing
    دومین ادرس هم اینه
    Error #542: API '::Board Support.emWin LCD:1.1(API)' required by component 'Keil.MCBSTM32E::Board Support:emWin LCD:16-bit IF:2.0.0' is missing
    باید ورژن 4.7 نصب کنم

  14. #551
    مدیر انجمن yraeisi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    یوسف رئیسی
    نوشته ها
    222
    تشکر
    9
    تشکر شده 182 بار در 100 پست

    پیش فرض

    نقل قول نوشته اصلی توسط meysammerrikh نمایش پست ها
    سلام این ارور برای چی هست آقای رییسی
    قایل RTL.h هم تو پروژه گذاشتم

    compiling GUI_X_Touch_Analog.c...
    touch\appl.h(37): error: #20: identifier "BOOL" is undefined
    extern BOOL getline (char *, U32);
    touch\appl.h(38): error: #20: identifier "BOOL" is undefined
    extern BOOL getlineHid (char *, int );
    touch\GUI_X_Touch_Analog.c: 0 warnings, 2 errors
    compiling Touch_Cal.c...
    touch\appl.h(37): error: #20: identifier "BOOL" is undefined
    extern BOOL getline (char *, U32);
    touch\appl.h(38): error: #20: identifier "BOOL" is undefined
    extern BOOL getlineHid (char *, int );
    touch\Touch_Cal.c: 0 warnings, 2 errors
    compiling system_LPC177x_8x.c...
    compiling lpc177x_8x_clkpwr.c...
    compiling lpc177x_8x_gpio.c...
    compiling lpc177x_8x_emc.c...
    compiling lpc177x_8x_pinsel.c...
    compiling lpc177x_8x_ssp.c...
    compiling lpc177x_8x_timer.c...
    CMSIS\source\lpc177x_8x_timer.c(86): warning: #68-D: integer conversion resulted in a change of sign
    uint32_t tnum = -1;
    CMSIS\source\lpc177x_8x_timer.c: 1 warning, 0 errors
    compiling lpc177x_8x_uart.c...
    compiling lpc177x_8x_rtc.c...
    compiling debug_frmwrk.c...
    compiling lpc177x_8x_eeprom.c...
    compiling lpc177x_8x_adc.c...
    compiling lpc177x_8x_pwm.c...
    compiling lpc177x_8x_i2c.c...
    ".\Output\KAVIR.axf" - 4 Error(s), 6 Warning(s).
    Target not created.
    Build Time Elapsed: 00:00:07


    هر جا BOOL دارید به جاش unsigned int بذارید

    با نسخه 4.7 که تو پک هست کامپایل کنید
    Hardware & Software designer
    Telegram:@y_r_z

  15. #552
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2016
    نوشته ها
    21
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام
    این عکس موس روچطوری میشه برداشت ؟
    ویرایش توسط meysammerrikh : 16-10-2017 در ساعت 10:33

  16. #553
    مدیر انجمن yraeisi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    یوسف رئیسی
    نوشته ها
    222
    تشکر
    9
    تشکر شده 182 بار در 100 پست

    پیش فرض

    GUI_CURSOR_Show();
    GUI_CURSOR_Hide();
    Hardware & Software designer
    Telegram:@y_r_z

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


  18. #554
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2016
    نوشته ها
    21
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    باسلام

    مهندس
    چرا دستوراتی که guibuilder میسازه با مثال های emwin فرق داره ؟


    من در guibuilder ی multipage ساختم با دو تا botton ولی نمیتونم یک باتون رو به یک پیج اختصاص بدم و دیگری رو به ی پیچ دیگه باید چیکار کنم ؟

    میشه راهنمایی کنید ؟


    یک بار با کپی و ایجاد callback جدید تونستم یکبار باتون رو به بک پیج اختصاص بدم ولی عملکردی که برای باتون نعریف کرده بودم کار نمیکرد ولی همون باتون در خارج از مولتی پیج کار میکرد



    /************************************************** *******************
    * *
    * SEGGER Microcontroller GmbH & Co. KG *
    * Solutions for real time microcontroller applications *
    * *
    ************************************************** ********************
    * *
    * C-file generated by: *
    * *
    * GUI_Builder for emWin version 5.22 *
    * Compiled Jul 4 2013, 15:16:01 *
    * (c) 2013 Segger Microcontroller GmbH & Co. KG *
    * *
    ************************************************** ********************
    * *
    * Internet: SEGGER - Software Development Tools for Embedded Systems Support: support@segger.com *
    * *
    ************************************************** ********************
    */


    // USER START (Optionally insert additional includes)
    // USER END


    #include "DIALOG.h"


    /************************************************** *******************
    *
    * Defines
    *
    ************************************************** ********************
    */
    #define ID_WINDOW_0 (GUI_ID_USER + 0x00)
    #define ID_BUTTON_0 (GUI_ID_USER + 0x15)
    #define ID_BUTTON_1 (GUI_ID_USER + 0x20)
    #define ID_MULTIPAGE_0 (GUI_ID_USER + 0x22)




    // USER START (Optionally insert additional defines)
    // USER END


    /************************************************** *******************
    *
    * Static data
    *
    ************************************************** ********************
    */


    // USER START (Optionally insert additional static data)
    // USER END


    /************************************************** *******************
    *
    * _aDialogCreate
    */
    static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
    { WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 800, 600, 0, 0x0, 0 },
    { BUTTON_CreateIndirect, "set", ID_BUTTON_0, 286, 439, 80, 20, 0, 0x0, 0 },
    { BUTTON_CreateIndirect, "Button", ID_BUTTON_1, 464, 437, 80, 20, 0, 0x0, 0 },
    { MULTIPAGE_CreateIndirect, "Multipage", ID_MULTIPAGE_0, 0, 30, 800, 550, 0, 0x0, 0 },
    // USER START (Optionally insert additional widgets)
    // USER END
    };


    /************************************************** *******************
    *
    * Static code
    *
    ************************************************** ********************
    */


    // USER START (Optionally insert additional static code)
    // USER END


    /************************************************** *******************
    *
    * _cbDialog
    */
    static void _cbDialog(WM_MESSAGE * pMsg) {
    WM_HWIN hItem;
    int NCode;
    int Id;
    // USER START (Optionally insert additional variables)
    // USER END


    switch (pMsg->MsgId) {
    case WM_INIT_DIALOG:
    //
    // Initialization of 'Window'
    //
    hItem = pMsg->hWin;
    WINDOW_SetBkColor(hItem, 0x009D002C);
    //
    // Initialization of 'Multipage'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_MULTIPAGE_0);
    MULTIPAGE_AddEmptyPage(hItem, 0, "Page");
    MULTIPAGE_AddEmptyPage(hItem, 0, "Page");
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
    break;
    case WM_NOTIFY_PARENT:
    Id = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_BUTTON_0: // Notifications sent by 'set'
    switch(NCode) {
    case WM_NOTIFICATION_CLICKED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_RELEASED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    // USER START (Optionally insert additional code for further notification handling)
    // USER END
    }
    break;
    case ID_BUTTON_1: // Notifications sent by 'Button'
    switch(NCode) {
    case WM_NOTIFICATION_CLICKED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_RELEASED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    // USER START (Optionally insert additional code for further notification handling)
    // USER END
    }
    break;
    case ID_MULTIPAGE_0: // Notifications sent by 'Multipage'
    switch(NCode) {
    case WM_NOTIFICATION_CLICKED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_RELEASED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_MOVED_OUT:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_VALUE_CHANGED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    // USER START (Optionally insert additional code for further notification handling)
    // USER END
    }
    break;
    // USER START (Optionally insert additional code for further Ids)
    // USER END
    }
    break;
    // USER START (Optionally insert additional message handling)
    // USER END
    default:
    WM_DefaultProc(pMsg);
    break;
    }
    }


    /************************************************** *******************
    *
    * Public code
    *
    ************************************************** ********************
    */
    /************************************************** *******************
    *
    * CreateWindow
    */
    WM_HWIN CreateWindow(void);
    WM_HWIN CreateWindow(void) {
    WM_HWIN hWin;


    hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
    return hWin;
    }


    // USER START (Optionally insert additional public code)
    // USER END


    /*************************** End of file ****************************/

    - - - Updated - - -

    ممنون از پاسخگویی تون

    داخل مثال که پایین میزارم تو کدوم قسمت باید دستورات عملکرد یک کلید رو تعریف کنیم ؟
    مثال خود emwin هست



    /************************************************** *******************
    * SEGGER Microcontroller GmbH & Co. KG *
    * Solutions for real time microcontroller applications *
    ************************************************** ********************
    * *
    * (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
    * *
    * Internet: www.segger.com Support: support@segger.com *
    * *
    ************************************************** ********************


    ** emWin V5.12 - Graphical user interface for embedded applications **
    emWin is protected by international copyright laws. Knowledge of the
    source code may not be used to write a similar product. This file may
    only be used in accordance with a license and should not be re-
    distributed in any way. We appreciate your understanding and fairness.
    ----------------------------------------------------------------------
    File : WIDGET_Multipage.c
    Purpose : Demonstrates the use of a MULTIPAGE widget
    ---------------------------END-OF-HEADER------------------------------
    */




    #include <stdlib.h>
    #include "GUI.h"
    #include "MULTIPAGE.h"






    /************************************************** *******************
    *
    * static data
    *
    ************************************************** ********************
    */


    /************************************************** *******************
    *
    * Dialog resource
    *
    * This table conatins the info required to create the dialogs.
    * It has been created manually, but could also be created by a GUI-builder.
    */
    static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] = {
    { WINDOW_CreateIndirect, "Dialog 1", 0, 0, 0, 260, 100, FRAMEWIN_CF_MOVEABLE },
    { BUTTON_CreateIndirect, "Button", GUI_ID_BUTTON0, 5, 30, 80, 20, 0},
    { TEXT_CreateIndirect, "Dialog 1", 0, 5, 10, 50, 20, TEXT_CF_LEFT }
    };


    static const GUI_WIDGET_CREATE_INFO _aDialogCreate2[] = {
    { WINDOW_CreateIndirect, "Dialog 2", 0, 0, 0, 260, 100, FRAMEWIN_CF_MOVEABLE },
    { CHECKBOX_CreateIndirect, "", GUI_ID_CHECK0, 5, 30, 0, 0, 0},
    { CHECKBOX_CreateIndirect, "", GUI_ID_CHECK1, 5, 50, 0, 0, 0},
    { TEXT_CreateIndirect, "Select 0", GUI_ID_TEXT0, 25, 30, 50, 15, TEXT_CF_LEFT },
    { TEXT_CreateIndirect, "Select 1", GUI_ID_TEXT1, 25, 50, 50, 15, TEXT_CF_LEFT },
    { TEXT_CreateIndirect, "Dialog 2", 0, 5, 10, 50, 20, TEXT_CF_LEFT }
    };


    static const GUI_WIDGET_CREATE_INFO _aDialogCreate3[] = {
    { WINDOW_CreateIndirect, "Dialog 3", 0, 0, 0, 260, 100, FRAMEWIN_CF_MOVEABLE },
    { RADIO_CreateIndirect, "", GUI_ID_RADIO0, 5, 30, 0, 0, 0, 3},
    { TEXT_CreateIndirect, "Option 1", GUI_ID_TEXT0, 25, 30, 50, 15, TEXT_CF_LEFT },
    { TEXT_CreateIndirect, "Option 2", GUI_ID_TEXT1, 25, 50, 50, 15, TEXT_CF_LEFT },
    { TEXT_CreateIndirect, "Option 3", GUI_ID_TEXT2, 25, 70, 50, 15, TEXT_CF_LEFT },
    { TEXT_CreateIndirect, "Dialog 3", 0, 5, 10, 50, 20, TEXT_CF_LEFT }
    };


    static const GUI_WIDGET_CREATE_INFO _aDialogCreate4[] = {
    { WINDOW_CreateIndirect, "Dialog 4", 0, 0, 0, 260, 100, FRAMEWIN_CF_MOVEABLE },
    { MULTIEDIT_CreateIndirect, "Text", GUI_ID_MULTIEDIT0, 5, 30, 200, 40 },
    { TEXT_CreateIndirect, "Dialog 4", 0, 5, 10, 50, 20, TEXT_CF_LEFT }
    };


    static const GUI_WIDGET_CREATE_INFO _aDialogCreate5[] = {
    { WINDOW_CreateIndirect, "Dialog 5", 0, 0, 0, 260, 100, FRAMEWIN_CF_MOVEABLE },
    { SLIDER_CreateIndirect, "", GUI_ID_SLIDER0, 5, 30, 200, 40 },
    { TEXT_CreateIndirect, "Dialog 5", 0, 5, 10, 50, 20, TEXT_CF_LEFT }
    };


    static const GUI_WIDGET_CREATE_INFO _aDialogCreate6[] = {
    { WINDOW_CreateIndirect, "Dialog 6", 0, 0, 0, 260, 100, FRAMEWIN_CF_MOVEABLE },
    { SCROLLBAR_CreateIndirect, "", GUI_ID_SCROLLBAR0, 5, 30, 200, 40 },
    { TEXT_CreateIndirect, "Dialog 6", 0, 5, 10, 50, 20, TEXT_CF_LEFT }
    };


    /************************************************** *******************
    *
    * Static code
    *
    ************************************************** ********************
    */


    /************************************************** *******************
    *
    * _cbDialog1
    */
    static void _cbDialog1(WM_MESSAGE * pMsg) {
    WM_HWIN hDlg;
    hDlg = pMsg->hWin;
    switch (pMsg->MsgId) {
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbDialog2
    */
    static void _cbDialog2(WM_MESSAGE * pMsg) {
    WM_HWIN hDlg;
    hDlg = pMsg->hWin;
    switch (pMsg->MsgId) {
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbDialog3
    */
    static void _cbDialog3(WM_MESSAGE * pMsg) {
    WM_HWIN hDlg;
    hDlg = pMsg->hWin;
    switch (pMsg->MsgId) {
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbDialog4
    */
    static void _cbDialog4(WM_MESSAGE * pMsg) {
    WM_HWIN hDlg, hItem;
    hDlg = pMsg->hWin;
    switch (pMsg->MsgId) {
    case WM_INIT_DIALOG:
    hItem = WM_GetDialogItem(hDlg, GUI_ID_MULTIEDIT0);
    MULTIEDIT_SetText(hItem, "MULTIEDIT widget");
    MULTIEDIT_SetInsertMode(hItem, 1);
    break;
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbDialog5
    */
    static void _cbDialog5(WM_MESSAGE * pMsg) {
    WM_HWIN hDlg;
    hDlg = pMsg->hWin;
    switch (pMsg->MsgId) {
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbDialog6
    */
    static void _cbDialog6(WM_MESSAGE * pMsg) {
    WM_HWIN hDlg;
    hDlg = pMsg->hWin;
    switch (pMsg->MsgId) {
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbBkWindow
    *
    * Purpose:
    * Callback routine of the background window, shows the sample title and draws the background
    */
    static void _cbBkWindow(WM_MESSAGE* pMsg) {
    switch (pMsg->MsgId) {
    case WM_PAINT:
    GUI_SetBkColor(GUI_BLUE);
    GUI_Clear();
    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_Font24_ASCII);
    GUI_DispStringHCenterAt("WIDGET_Multipage - Sample", 160, 5);
    break;
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _cbFrameWin
    *
    * Purpose:
    * Callback routine of the frame window behind the MULTIPAGE widget
    */
    static void _cbFrameWin(WM_MESSAGE* pMsg) {
    switch (pMsg->MsgId) {
    default:
    WM_DefaultProc(pMsg);
    }
    }


    /************************************************** *******************
    *
    * _DemoMultiPage
    *
    * Purpose:
    * Demonstrates the use of a multipage widget
    */
    static void _DemoMultiPage(void) {
    WM_HWIN hMultiPage, hFrameWin, hDialog;
    /* Enable use of memory devices */
    WM_SetCreateFlags(WM_CF_MEMDEV);
    WM_EnableMemdev(WM_HBKWIN);
    WM_SetCallback(WM_HBKWIN, &_cbBkWindow); /* Use own callback routine for background window */
    /* Create the frame window */
    hFrameWin = FRAMEWIN_Create("FrameWindow", &_cbFrameWin, WM_CF_SHOW, 40, 44, 240, 152);
    FRAMEWIN_SetClientColor(hFrameWin, GUI_GREEN);
    FRAMEWIN_SetActive(hFrameWin, 1);
    FRAMEWIN_SetMoveable(hFrameWin, 1);
    /* Create the MULTIPAGE widget */
    hMultiPage = MULTIPAGE_CreateEx(7, 6, 220, 120, WM_GetClientWindow(hFrameWin), WM_CF_SHOW, 0, 0);
    GUI_Delay(500);
    /* Create and attache the MULTIPAGE dialog windows */
    hDialog = GUI_CreateDialogBox(_aDialogCreate1,
    GUI_COUNTOF(_aDialogCreate1),
    &_cbDialog1, WM_UNATTACHED, 0, 0);
    MULTIPAGE_AddPage(hMultiPage, hDialog, "Page 1");
    GUI_Delay(500);
    hDialog = GUI_CreateDialogBox(_aDialogCreate2,
    GUI_COUNTOF(_aDialogCreate2),
    &_cbDialog2, WM_UNATTACHED, 0, 0);
    MULTIPAGE_AddPage(hMultiPage, hDialog, "Page 2");
    GUI_Delay(500);
    hDialog = GUI_CreateDialogBox(_aDialogCreate3,
    GUI_COUNTOF(_aDialogCreate3),
    &_cbDialog3, WM_UNATTACHED, 0, 0);
    MULTIPAGE_AddPage(hMultiPage, hDialog, "Page 3");
    GUI_Delay(500);
    hDialog = GUI_CreateDialogBox(_aDialogCreate4,
    GUI_COUNTOF(_aDialogCreate4),
    &_cbDialog4, WM_UNATTACHED, 0, 0);
    MULTIPAGE_AddPage(hMultiPage, hDialog, "Page 4");
    GUI_Delay(500);
    hDialog = GUI_CreateDialogBox(_aDialogCreate5,
    GUI_COUNTOF(_aDialogCreate5),
    &_cbDialog5, WM_UNATTACHED, 0, 0);
    MULTIPAGE_AddPage(hMultiPage, hDialog, "Page 5");
    GUI_Delay(500);
    hDialog = GUI_CreateDialogBox(_aDialogCreate6,
    GUI_COUNTOF(_aDialogCreate6),
    &_cbDialog6, WM_UNATTACHED, 0, 0);
    MULTIPAGE_AddPage(hMultiPage, hDialog, "Page 6");
    GUI_Delay(500);
    /* Demonstrate the use of MULTIPAGE_SetAlign */
    MULTIPAGE_SetAlign(hMultiPage, MULTIPAGE_ALIGN_RIGHT);
    GUI_Delay(500);
    MULTIPAGE_SetAlign(hMultiPage, MULTIPAGE_ALIGN_RIGHT | MULTIPAGE_ALIGN_BOTTOM);
    GUI_Delay(500);
    MULTIPAGE_SetAlign(hMultiPage, MULTIPAGE_ALIGN_LEFT | MULTIPAGE_ALIGN_BOTTOM);
    while (1) {
    GUI_Exec();
    }
    }


    /************************************************** *******************
    *
    * Public code
    *
    ************************************************** ********************
    */
    /************************************************** *******************
    *
    * MainTask
    */
    void MainTask(void) {
    GUI_Init();
    _DemoMultiPage();
    }


    /*************************** End of file ****************************/
    ویرایش توسط meysammerrikh : 17-10-2017 در ساعت 14:58

  19. #555
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2016
    نوشته ها
    21
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

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

    مهندس
    چرا دستوراتی که guibuilder میسازه با مثال های emwin فرق داره ؟


    من در guibuilder ی multipage ساختم با دو تا botton ولی نمیتونم یک باتون رو به یک پیج اختصاص بدم و دیگری رو به ی پیچ دیگه باید چیکار کنم ؟

    میشه راهنمایی کنید ؟


    یک بار با کپی و ایجاد callback جدید تونستم یکبار باتون رو به بک پیج اختصاص بدم ولی عملکردی که برای باتون نعریف کرده بودم کار نمیکرد ولی همون باتون در خارج از مولتی پیج کار میکرد



    /************************************************** *******************
    * *
    * SEGGER Microcontroller GmbH & Co. KG *
    * Solutions for real time microcontroller applications *
    * *
    ************************************************** ********************
    * *
    * C-file generated by: *
    * *
    * GUI_Builder for emWin version 5.22 *
    * Compiled Jul 4 2013, 15:16:01 *
    * (c) 2013 Segger Microcontroller GmbH & Co. KG *
    * *
    ************************************************** ********************
    * *
    * Internet: SEGGER - Software Development Tools for Embedded Systems Support: support@segger.com *
    * *
    ************************************************** ********************
    */


    // USER START (Optionally insert additional includes)
    // USER END


    #include "DIALOG.h"


    /************************************************** *******************
    *
    * Defines
    *
    ************************************************** ********************
    */
    #define ID_WINDOW_0 (GUI_ID_USER + 0x00)
    #define ID_BUTTON_0 (GUI_ID_USER + 0x15)
    #define ID_BUTTON_1 (GUI_ID_USER + 0x20)
    #define ID_MULTIPAGE_0 (GUI_ID_USER + 0x22)




    // USER START (Optionally insert additional defines)
    // USER END


    /************************************************** *******************
    *
    * Static data
    *
    ************************************************** ********************
    */


    // USER START (Optionally insert additional static data)
    // USER END


    /************************************************** *******************
    *
    * _aDialogCreate
    */
    static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
    { WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 800, 600, 0, 0x0, 0 },
    { BUTTON_CreateIndirect, "set", ID_BUTTON_0, 286, 439, 80, 20, 0, 0x0, 0 },
    { BUTTON_CreateIndirect, "Button", ID_BUTTON_1, 464, 437, 80, 20, 0, 0x0, 0 },
    { MULTIPAGE_CreateIndirect, "Multipage", ID_MULTIPAGE_0, 0, 30, 800, 550, 0, 0x0, 0 },
    // USER START (Optionally insert additional widgets)
    // USER END
    };


    /************************************************** *******************
    *
    * Static code
    *
    ************************************************** ********************
    */


    // USER START (Optionally insert additional static code)
    // USER END


    /************************************************** *******************
    *
    * _cbDialog
    */
    static void _cbDialog(WM_MESSAGE * pMsg) {
    WM_HWIN hItem;
    int NCode;
    int Id;
    // USER START (Optionally insert additional variables)
    // USER END


    switch (pMsg->MsgId) {
    case WM_INIT_DIALOG:
    //
    // Initialization of 'Window'
    //
    hItem = pMsg->hWin;
    WINDOW_SetBkColor(hItem, 0x009D002C);
    //
    // Initialization of 'Multipage'
    //
    hItem = WM_GetDialogItem(pMsg->hWin, ID_MULTIPAGE_0);
    MULTIPAGE_AddEmptyPage(hItem, 0, "Page");
    MULTIPAGE_AddEmptyPage(hItem, 0, "Page");
    // USER START (Optionally insert additional code for further widget initialization)
    // USER END
    break;
    case WM_NOTIFY_PARENT:
    Id = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_BUTTON_0: // Notifications sent by 'set'
    switch(NCode) {
    case WM_NOTIFICATION_CLICKED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_RELEASED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    // USER START (Optionally insert additional code for further notification handling)
    // USER END
    }
    break;
    case ID_BUTTON_1: // Notifications sent by 'Button'
    switch(NCode) {
    case WM_NOTIFICATION_CLICKED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_RELEASED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    // USER START (Optionally insert additional code for further notification handling)
    // USER END
    }
    break;
    case ID_MULTIPAGE_0: // Notifications sent by 'Multipage'
    switch(NCode) {
    case WM_NOTIFICATION_CLICKED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_RELEASED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_MOVED_OUT:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    case WM_NOTIFICATION_VALUE_CHANGED:
    // USER START (Optionally insert code for reacting on notification message)
    // USER END
    break;
    // USER START (Optionally insert additional code for further notification handling)
    // USER END
    }
    break;
    // USER START (Optionally insert additional code for further Ids)
    // USER END
    }
    break;
    // USER START (Optionally insert additional message handling)
    // USER END
    default:
    WM_DefaultProc(pMsg);
    break;
    }
    }


    /************************************************** *******************
    *
    * Public code
    *
    ************************************************** ********************
    */
    /************************************************** *******************
    *
    * CreateWindow
    */
    WM_HWIN CreateWindow(void);
    WM_HWIN CreateWindow(void) {
    WM_HWIN hWin;


    hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
    return hWin;
    }


    // USER START (Optionally insert additional public code)
    // USER END


    /*************************** End of file ****************************/

    -

    /*************************** End of file ****************************/






    سلام
    ی framewin تعریف کردم باتون رو داخل اون گذاشتم بعد اون رو include کردم تو ویندوز اصلی درست شد

    روش ام درسته ؟

  20. #556
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    سلام
    من کامپایل کردم کیل 4.74 خطا نداره که !
    کد:
    Build target 'MCBSTM32E'
    assembling startup_stm32f10x_hd.s...
    compiling system_stm32f10x.c...
    compiling LCDConf.c...
    compiling LCD_X_16BitIF_STM32.c...
    compiling JOY.c...
    compiling GUIConf.c...
    compiling GUI_X.c...
    compiling main.c...
    compiling GUIDEMO.c...
    compiling GUIDEMO_Automotive.c...
    compiling GUIDEMO_ColorBar.c...
    compiling GUIDEMO_Conf.c...
    compiling GUIDEMO_Cursor.c...
    compiling GUIDEMO_Graph.c...
    compiling GUIDEMO_Intro.c...
    compiling GUIDEMO_Listview.c...
    compiling GUIDEMO_Resource.c...
    compiling GUIDEMO_Speed.c...
    compiling GUIDEMO_Start.c...
    compiling GUIDEMO_TransparentDialog.c...
    compiling GUIDEMO_Treeview.c...
    linking...
    Program Size: Code=119580 RO-data=161028 RW-data=3292 ZI-data=54236  
    ".\obj\GUIDemo.axf" - 0 Error(s), 0 Warning(s).
    نمیشه که سمپل خود کیل در کامپایل خطا بده
    همه فایل های هدر که در کنار پروژه نمی ذاره . مثلا همین GUI.H در آدرس :
    C:\Keil\ARM\Segger\emWin\Include
    قرار دارد.
    من با ورژن 4.7 تست زدم . اررور میداد . اگه این هدرها توی اون آدرس هست چرا از دستور
    #include "gui.h"
    استفاده کرده
    امکانش هست شما یکی از مثال هارو برای من یه جایی آپلود کنید .

  21. #557
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    مشکل حل شد . مورد کرک بود که با اینکه کیل کرک کرده بودم ولی باید real time os کرک میکردم.

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


  23. #558
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    خوب حالا من یه مشکل دیگه دارم که من یک پروژه درست میکنم و توابع gui به برنامه اضافه میکنم 100 تا اررور میده
    من این فیلم تهیه کردم و همه دیدم
    مشکل داره از نظر من
    مربی صاف اومده یه مثال باز کرده و توضیح میده . کسی که این فیلم تهیه میکنه شاید مثل من مبتدی باشه . حد اقل یه پروژه از اول درست میکرد و فایل هارو بهش اضافه میکرد
    من توی مثال های آماده keil هم اومدم میکرو از stm32f107 به stm32f103vet تغییر دادم فقط اررور بهم داد . حداقل میومد یه پروژه با 1788 درست میکرد و
    هدرهارو بهش اظافه میکرد و تنظیمات انجام میداد .

    مورد بعدی توضیح نداده که اگه برد ما رم خارجی نداشت و با خواهیم از همه امکانات استفاده کنیم کدوم کتابخانه حذف کنیم.
    اگه میشه فیلم این قسمت هم آماده کنید و به مجموعه اظافه کنید
    ویرایش توسط jonbakhsh : 21-10-2017 در ساعت 13:48

  24. #559
    مدیر انجمن yraeisi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    یوسف رئیسی
    نوشته ها
    222
    تشکر
    9
    تشکر شده 182 بار در 100 پست

    پیش فرض

    بدون RAM نمی شه .شما برای راه اندازی LCD باید رم داشته باشید.تو این مثال ها حداقل هدر فایل ها برای راه اندازی emwin و LCD استفاده شده.
    بدون RAM شاید حداکثر تا 3.2 اینچ اون هم نصف ونیمه بتونید راه اندازی کنید.وقتی قرار باشه یه میکرو مثل 1788 استفاده بشه ،عدم استفاده از RAM خارجی معنی نداره اصلا.مثل این میمونه که رو یه کامپیوتر Core i7 فقط 1 گیگ ram بذارید.اونوقت ازش انتظار داشته باشید یه نرم افزار سنگین مثل سالید یا آلتیوم هم روش راحت کار کنه.خب معلومه که نمیشه..
    Hardware & Software designer
    Telegram:@y_r_z

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


  26. #560
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    خوب درسته ولی شاید یک نفری مثل من نخواد از همه امکاناتش استفاده کنه. توی مثال های خود کیل هم از انواع میکروها استفاده کرده
    بعد اصلا در مورد ساخت پروژه چیزی گفته نشده .من این فیلم برای این گرفتم که ببینم که شما بعد از ساخت پروژه و اظافه کردن کتابخانه ها به چه شکل اررورهارو میگیرد .
    من مثال خود کیل باز کردم وقتی میکرو عوض میکنم 100 تا اررور میده .(البته مثال هایی که من باز کردم برای stm بود) ولی فرقی نمیکنه.
    اگه ممکنه شما یک کلیپ آماده کنید که توی اون از اول یه پروژه با کیل درست کنید
    بعد توابع بهش اظافه کنید
    و در مورد توابع هم توضیح بدید که در صورت کم بودن رم و یا فلش میکرو کدام توابع میتونم حذف کنم . همین
    ممنون

صفحه 28 از 32 نخستنخست ... 91011121314151617181920212223242526272829303132 آخرینآخرین

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

  1. آموزش emWin
    توسط majidma3000 در انجمن LPC series (NXP)
    پاسخ: 1103
    آخرين نوشته: 30-08-2020, 23:50
  2. [آموزش] فیلم آموزش کوبی برد و برنامه نویسی لینوکس رسید!
    توسط kavir در انجمن Cortex-a8-a9 arm9-11
    پاسخ: 607
    آخرين نوشته: 15-05-2018, 17:38
  3. دانلود کتاب آموزش ساخت ربات مسیریاب
    توسط lktra در انجمن پرسش و پاسخ (نرم افزارهای تخصصی)
    پاسخ: 0
    آخرين نوشته: 14-02-2013, 17:36
  4. آموزش مسیریاب بدون میکرو
    توسط رهتازالکترونیک در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 0
    آخرين نوشته: 17-08-2010, 13:40
  5. آموزش ساخت روبات مسیر یاب با atmega8
    توسط ROBOMAN در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 1
    آخرين نوشته: 15-09-2009, 11:50

کلمات کلیدی این موضوع

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

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