Hi,
We are at the stage of migrating our exsisting code which was based on the SDK 15.2 to use the nRF5 SDK for Thread and Zigbee v4.1.0.
Im stuck at the stage of using the SysTick. It seems to me that when we want to use this, the code does not run as normal anymore.
I've added the following lines to the zigbee example \examples\multiprotocol\ble_zigbee\ble_zigbee_dynamic_door_lock_nus:
/*----------------------------------------------------------------------------
SysTick IRQ: Executed periodically (10ms)
*----------------------------------------------------------------------------*/
void SysTick_Handler (void)
{
static int n = 0;
n++;
}
/**@brief Function for application main entry.
*/
int main(void)
{
zb_ret_t zb_err_code;
SysTick_Config(SystemCoreClock/100);
NVIC_EnableIRQ(SysTick_IRQn);
/* Initialize loging system and timers. */
log_init();
timer_init();
/* Intitialise the FDS storage subsystem. */
storage_init();
/* Initialise the LEDs and PWM to steer the lock. */
leds_pwm_init();
/* Bluetooth initialization. */
ble_stack_init();
/* NUS Commander initialization. */
nus_init(NULL);
/* Add commands to NUS */
add_nus_commands();
/* Initialize Zigbee stack. */
zigbee_init();
/* Start execution. */
NRF_LOG_INFO("BLE Zigbee dynamic door lock example started.");
/** Start Zigbee Stack. */
zb_err_code = zboss_start_no_autostart();
ZB_ERROR_CHECK(zb_err_code);
while(1)
{
zboss_main_loop_iteration();
UNUSED_RETURN_VALUE(NRF_LOG_PROCESS());
if (m_garbage_flag)
{
m_garbage_flag = false;
UNUSED_RETURN_VALUE(fds_gc());
}
}
}
When I added these lines (SysTick_Config and NVIC_EnableIRQ) the example stops working as normal after zigbee stack initilized (uart log) and gets stuck.
My questions are:
1. Why cant I use the SysTick?
2. What else is a good option to use instead? app timer?

