Not able to receive all charcaters through uart interrupt
I am not able to receive whole characters from the uart interrupt . if I enter "hello" thorigh command line , I gets h , e , o . I miss other characters. below is my code snippet.
uint8_t str;
//Main code
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart2 , UART_IT_RXNE);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
// HAL_UART_Transmit(&huart2 , (uint8_t *) buff , 8 ,1000);
// HAL_UART_Receive_IT(&huart2 , (uint8_t *) str , 10);
// HAL_Delay(100);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
//Interrupt function
void USART2_IRQHandler(void)
{
/* USER CODE BEGIN USART2_IRQn 0 */
/* USER CODE END USART2_IRQn 0 */
HAL_UART_IRQHandler(&huart2);
/* USER CODE BEGIN USART2_IRQn 1 */
HAL_UART_Receive_IT(&huart2 ,(uint8_t*) &str , 1);
/* USER CODE END USART2_IRQn 1 */
}
//Callback function
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
print("Recvd char : %c \r\n" , str);
}
