2019-11-22 06:24 AM
I started messing around with the End_Node example with my B-L072Z-LRWAN1 board, and enabled the sensors despite not having the nucleo board to test with. Curiously I noticed instead of delivering an error, it just locked up.
After some investigation I realised that it was hanging in an infinite loop, waiting for an I2C timeout that never comes. The timeout counter seems to be determined by the HAL_GetTick() function, which in turn has its variable incremented by the SysTick_Handler.
Having placed a breakpoint on this function I can see that it never fires, leaving anything that relies on it for a timeout stuck indefinitely.
I set up a quick empty project in CubeMX and it seems to be called absolutely fine. Changing the TICK_INT_PRIORITY in the example doesn't seem to do anything to fix it either.
So why is the SysTick_Handler not being called? How do I fix this?
I'm running the End_Node example from STM32CubeExpansion_LRWAN_V1.3.0 in keil uVision 5.