I cannot use emWin examples problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I cannot use emWin examples problem

2,169 Views
oscarniño
Contributor III

Hello

I using LPCXpresso54608 and LPCXpresso54018, I have been trying to run emWin examples from segger in emwin library emWin Segger 5.48. but I cannot do it. I think this is because of timing problems I mean:

when a windows callback is created in an example, this set a timer with WM_CreateTimer() function, this will call a event for this window( or widget ) to delete this window but it never happes, also when the function GUI_Delay() function is used in the forever loop (while, for) the program never get back. In the emWin User Guide & Reference Manual said that this funcion will call GUI_X_Delay() function but in emwin_support.c file this function es empty. Could any body help me I need to use some timer events and use of touch. By the away, about of touch; I suppose that the use if this code is the best way to hand it?

if (BOARD_Touch_Poll())
{
             GUI_MULTIBUF_Begin();

             WM_Exec();
             GUI_MULTIBUF_End();
}

am I right?

Bounce.c aplication example is which I´m trying to run

Labels (2)
0 Kudos
Reply
3 Replies

1,587 Views
oscarniño
Contributor III

Hello everyone

I have resolved my problem to use (almost all) emWin examples from emWin Library 5.48 they have bugs or maybe it is because of they are not for a specific board but you can learn a lot with them.

I just had to configuring systick timer:

SysTick_Config(SystemCoreClock / 1000); for 1ms interrupt

define:

GUI_TIMER_TIME GUI_X_GetTime(void)
{
              return g_ticks;
}

add this:

/*!
* @brief ISR for Systick Timer
*/
void SysTick_Handler(void)
{
               g_ticks++;
}

and define:

volatile uint32_t g_ticks;

I hope this coud be helpful

best regards

0 Kudos
Reply

1,587 Views
soledad
NXP Employee
NXP Employee

Hi,

The GUI_X_Delay funtion should be contain:

void GUI_X_Delay(int Period)
{
    volatile int i;
    for (; Period > 0; Period--)
    {
        for (i = 15000; i > 0; i--)
            ;
    }
}

Could you please try using the emWin examples from the SDK LPCXpresso54608? You can download the SDK from the next link:

Welcome | MCUXpresso SDK Builder 


Have a great day,
Sol
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,587 Views
oscarniño
Contributor III

Thanks for Reply Soledad, this function was empty. I had downloaded the SDK 2.4.1 version with emWin examples, but this SDK just has three examples, I would like try more of them. The last version of SDK(2.2.0 I guess) had an example of touch and draw with Freertos, It works better but after some movements it get stock too. I think it could be by the RAM but Im not pretty sure. I have added this code and the it´s happened the same. Any other recomendation?

Best Regards

0 Kudos
Reply