cancel
Showing results for 
Search instead for 
Did you mean: 

issue with UART call back function

Anil3
Associate III

Hello Everyone!!

i am using HAL_UART_RxCpltCallback function in my program,  whenever i receive 9 bytes of data via uart an interrupt will trigger and the above mentioned function will get called and execute but  the issue is if i sent a 9 bytes command for the very first time then it is not responding to that command and from 2nd time onwards it is working properly. may i know the reason why the callback function not working for the very first time when cmd is sent and y it is working properly from the next time onwards. here are few pics about my code.

2 REPLIES 2
TDK
Guru

A few bad things are happening here:

  • Blocking functions are used within the interrupt, specifically HAL_UART_Transmit, which may cause overflows.
  • HAL_UART_Receive_IT is being called from the main thread and from within the interrupt. Only do it in one place.
If you feel a post has answered your question, please click "Accept as Solution".
liaifat85
Senior III

Sometimes, uninitialized buffers can cause unexpected behavior during the initial reception.