cancel
Showing results for 
Search instead for 
Did you mean: 

HAL_IncTick not called ?

tgoin
Associate II
Posted on April 14, 2014 at 14:23

Hi all,

STM32Cube generated me USART code which use HAL_UART_Transmit()/UART_WaitOnFlagUntilTimeout() with uwTick variable.

But this one is never incremented with HAL_IncTick() function.

This function must be called by systick interrupt but never in my code !!!

How can I validate this IT ?

Thanks

Thierry

#clive #systick
7 REPLIES 7
tgoin
Associate II
Posted on April 14, 2014 at 15:55

I thinck it's not possible to configure IT with another OS than FreeRTOS proposal ?

tgoin
Associate II
Posted on April 15, 2014 at 08:54

Var uwTick is never incermented.

I launch HAL_Init(), which enable systick IT :

HAL_SYSTICK_Config(HSI_VALUE/ 1000);

SystemClock_Config() is good launched ....

But systick IT never occured

?????

mail239955
Associate II
Posted on June 25, 2014 at 21:19

Hi,

I observe the same problem.

Did you find any solution, or is it a bug in ''stm32cube'' ?

You can contribute to tha actual thread here:

[DEAD LINK /public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/STM32Java/stm32cube%20HAL_IncTick%28%29%20never%20called&currentviews=6]Thread

kecskesgery
Associate II
Posted on January 06, 2016 at 12:00

Hi!

I'm having the same problem right know. Have you guys somehow bypassed it? 

Thanks for the reply! Cheers

Nesrine M_O
Lead II
Posted on January 06, 2016 at 13:43

Hi kecskes.gergely,

Could you please confirm if you are using FreeRTOS? If yes, refer to this [DEAD LINK /public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/STM32Java/stm32f4%20usb%20cdc%20problem&currentviews=28]discussion where you find a suggested solution. The issue is already tracked and reported internally.

-Syrine-

askari.nima
Associate II
Posted on January 10, 2016 at 04:46

dean
Associate II
Posted on January 15, 2016 at 18:38

Hi,  I found I had to add the call to HAL_IncTick() to the SysTick Handler() function in the stm32l1xx_it.c module, like so:

void SysTick_Handler(void)

{

  /* USER CODE BEGIN SysTick_IRQn 0 */

  HAL_IncTick();

  /* USER CODE END SysTick_IRQn 0 */

  osSystickHandler();

  /* USER CODE BEGIN SysTick_IRQn 1 */

  /* USER CODE END SysTick_IRQn 1 */

}

You will need to add it to the interrupt handler module corresponding to your specific device.