cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with StemWin App via CubeMX on a STM32F469 Discovery Board

peter armbruester
Associate
Posted on March 30, 2018 at 17:29

Hello everyone,

I�m develop an application  on a STM32F469 Discovery Board with StemWin Graphics on Keil MDK uVision 5.24.

The first tests worked well, but i get problems when i change to the CubeMX front end.

It's impossible to change widget content if GUI_Delays in the process are.

I will describe the develop steps at a very simple test program:

Step 1 on  CubeMX 4.25  

  • New Project
  • Choose Board: STM32F469 Discovery
  • All Default Settings: Yes
  • No Pin Clear
  • PINOUT
  •    Disable FreeRTOS (otherwise i get errors. STemWin should work as single task. ) 
  •    Graphics /Stemwin: enable
  • CONFIGURATION
  •    Graphics: Enable GUI Builder
  •    Execute GUI Builder, and make a Frame with 2 EditText Widgets
  • Generate Code: Keil MDK 5

Step 2 on Keil MDK uVision 5.24

  • Build
  • Run is OK � GUI is on the Display

Step 3 on Keil MDK uVision 5.24

  • Modify GUI Source �FramewinDLG�;  Source Code is below.

    Run
  • GUI is on the Display but no changes in the Widgets!
  • Leds blinking -> Loop is running !
  • ????

I would be very grateful if someone had a solution.

The CubeMX project file is attatched below.

Thanks!

�FramewinDLG� Source Code:

.

.

.

/*********************************************************************

*

*       CreateFramewin

*/

&sharpinclude 'main.h'

WM_HWIN CreateFramewin(void);

WM_HWIN CreateFramewin(void) {

  WM_HWIN hWin;

  WM_HWIN hItem;

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

               

                hItem = WM_GetDialogItem(hWin, ID_EDIT_1);

                GUI_Exec();        

                while(1)

                {

                               GUI_Delay(500);

                               EDIT_SetText(hItem, 'ABCDEF');

                               GUI_Exec();        

                               HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);

                               GUI_Delay(500);

                               EDIT_SetText(hItem, 'XXXXXX');

                               GUI_Exec();        

                               HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin);                        

                }

               

  return hWin;

}

Supplement 3.4.2018:

The problem can be illustrated even more easily:

void GRAPHICS_MainTask(void) {

       GUI_Init();

       GUI_Clear();

    GUI_SetColor(GUI_WHITE);

    GUI_SetFont(&GUI_Font32_1);

    GUI_GotoXY(100,100);

    GUI_DispString('Hello world!');

       GUI_Exec();

       GUI_Delay(100);      

    GUI_GotoXY(100,200);

    GUI_DispString('BAD ERROR');  // Text is on the Display if Delay < 20, Delay = 30 show turncated text

       GUI_Exec();

Nothing can be output on the display if there is a delay longer than 50 ms after the GUI_Init ().

#stemwin #cubemx-v4.25.0 #keil-mdk5 #stm32f469-discovery
1 REPLY 1

Sorry, bumping old zombie unanswered questions off my feed

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..