title: HAL_UART_Receive_IT only runs once
body: <p>Am using HAL library but the reception interrupt only fires once. </p>
  
  <p>I've tried debugging it but i still cant figure out where to start from.</p>
  
  <p>Am not sure which status flag that is set so that i could re-enable it or disable it to make it run another round. The datasheet is a bit sheety coz STM isn't providing a detailed copy. Am using an STM32F303K8.</p>
  
  <pre><code>uint8_t rcvd, count = 0, reception_complete = FALSE;
  char buffer[100];
  
  int main(void)
  {
      HAL_Init();
      SystemClockConfig();
      UART2_Init();
  
      __HAL_UART_ENABLE_IT(&amp;huart2, UART_IT_RXNE);
  
      while(1){
  
          if(reception_complete == FALSE) {
              HAL_UART_Receive_IT(&amp;huart2, &amp;rcvd, 1);
          }
          else {
              ReturnProcessedString();
              reception_complete = FALSE;
          }
      }
  
      return 0;
  }
  
  void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  {
      if (huart-&gt;Instance == USART2)
      {
          if(rcvd == '\r'){
              reception_complete = TRUE;
              buffer[count++] = '\r';
  
              count = 0;
  
          }else {
              buffer[count++] = rcvd;
          }
      }
  }
  </code></pre>