2020-06-19 02:38 AM
MCU:STM32F0Discovery board
Tools:STM32CubeMX+Keil5.30
Test condition: PC_SerialComm tools & FT232 chip board
After trying the HAL_UART_RxHalfCpltCallback Function, I find that this function couldn`t be used in the normal transmit in UART_Comm.
And would you tell me which condition I can use this function, just in single wire mode or the others?
2020-06-19 07:07 AM
"We couldn’t find any code matching 'HAL_UART_HalfCpltCallback' in STMicroelectronics/STM32CubeF0"
Doesn't seem like that's a function.
HAL_UART_TxHalfCpltCallback, however, is called when using DMA and the transfer is halfway complete. It's not called in blocking or IT mode.
2020-06-19 07:26 AM
After trying the HAL_UART_RxHalfCpltCallback Function, I find that this function couldn`t be used in the normal transmit in UART_Comm.
And would you tell me which condition I can use this function, just in single wire mode or the others?
2020-06-19 07:40 AM
Well, the answer is the same:
HAL_UART_RxHalfCpltCallback is called when using DMA and the transfer is halfway complete. It's not called in blocking or IT mode. So in HAL_UART_Receive_DMA.
2020-06-19 09:13 AM
The UART should work in full-duplex mode
You can not use blocking code within the callbacks, and you can't nest functionality, ie try to have multiple concurrent transmit operations working.
Show some code, it might help to understand what you're doing, as your description of the problem and method are poor.
2020-06-19 09:15 AM
Cross posted on Keil https://community.arm.com/developer/tools-software/tools/f/keil-forum/46896/what-about-the-difference-between-rxhalfcplt-and-rxcplt-in-uart