extern TIM_HandleTypeDef htim17;
uint32_t pulse_width;
uint8_t flag=1,counter;
uint16_t data_packet[96];
if(flag)
  {
    pulse_width=TIM17 -> CNT ; // counter value
	data_packet[counter++]=pulse_width;
	TIM17->CNT=0;              // restart counter(optional) 
	flag=0;
  }
  else
  {
   HAL_TIM_Base_Start(&htim17); // start timer
   flag=1;
   TIM17->CNT=0;                // start counter with value 0
  }