Skip to main content
Graduate
July 11, 2025
Solved

STemWin DispStringAt() doesn't work if called after a pause since the previous call.

  • July 11, 2025
  • 1 reply
  • 271 views

Hi, all.

I'm using STM32H747I-DISCO.

I tried STemWinHelloWorld example, and "Hello world!" string was displayed on LCD properly.

I added EXTI IRQ. And I confirmed when EXTI IRQ occur, it went to EXTI15_10_IRQHandler.

Then I added proccess that display "How are you?" string in EXTI15_10_IRQHandler, as shown below.

void EXTI15_10_IRQHandler(void)
 {
 /* USER CODE BEGIN EXTI15_10_IRQn 0 */
 /* USER CODE END EXTI15_10_IRQn 0 */
 HAL_GPIO_EXTI_IRQHandler(GpioInt_Pin);
 /* USER CODE BEGIN EXTI15_10_IRQn 1 */
 GUI_DispStringAt("How are you?", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/4); 
 /* USER CODE END EXTI15_10_IRQn 1 */
 }

But when EXTI IRQ occur, "How are you?" string was not displayed on LCD, although it go to EXTI15_10_IRQHandler.

And I confirmed below action.

I added proccess that display "Fine!" string in MainTask() followed by GUI_Delay(1000), as shown below.

void MainTask(void) {
 GUI_Clear();
 GUI_SetFont(&GUI_Font32_1);
 GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2); 
 GUI_Delay(1000);
 GUI_DispStringAt("Fine!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/8); 
 while(1);
}
When I executed this, only "Hello world!" was displayed, but "Fine!" was not displayed.

Please tell me why GUI_DispStringAt() doesn't work if it's called after a pause since the previous call.

Thanks in advance. 


Edited to apply source code formatting - please see How to insert source code for future reference.

    This topic has been closed for replies.
    Best answer by Andrew Neil

    @MOBEJ wrote:

    I recommend using TouchGFX instead of STemWin for your project.


    It seems that STemWin is no longer supported: Google finds https://www.st.com/en/embedded-software/stemwin.html/1000 - but that just gives an HTTP 404 'Not Found' error.

     

    @Paco There is still Segger emWin: https://www.st.com/en/partner-products-and-services/segger-emwin.html

    But I guess you'd need to go to Segger for support with that:

    https://www.segger.com/products/user-interface/emwin/add-ons/emwin-for-stm32/

    https://www.segger.com/support/technical-support/

    https://forum.segger.com/board/12-emwin-related/

     

    1 reply

    ST Employee
    July 11, 2025

    Hello @Paco 

    I recommend using TouchGFX instead of STemWin for your project. Please download the TouchGFX Designer—a powerful tool that helps you design graphics easily and ensures smooth display performance on your board.

    You can find the TouchGFX package and the X-CUBE-TouchGFX expansion on ST.com.

    For support, usage guides, and documentation on TouchGFX, please visit this link:
    TouchGFX Documentation and Support

    Br

    Super User
    July 11, 2025

    @MOBEJ wrote:

    I recommend using TouchGFX instead of STemWin for your project.


    It seems that STemWin is no longer supported: Google finds https://www.st.com/en/embedded-software/stemwin.html/1000 - but that just gives an HTTP 404 'Not Found' error.

     

    @Paco There is still Segger emWin: https://www.st.com/en/partner-products-and-services/segger-emwin.html

    But I guess you'd need to go to Segger for support with that:

    https://www.segger.com/products/user-interface/emwin/add-ons/emwin-for-stm32/

    https://www.segger.com/support/technical-support/

    https://forum.segger.com/board/12-emwin-related/