1、原因
最近在看安富莱的bsp教程,关于usart的部分使用了fifo的管理,但是安富莱的教程中,FIFO管理部分都是自己写的,而stm32官方的hal库里面,关于usart发送部分是有HAL_UART_Transmit_IT可以以中断的方式发送数据的。我现在的疑惑就是,我只使用安富莱的fifo管理部分,将发送部分交给hal库的函数进行处理,可不可是实现和安富莱bsp教程相同的功能。
2、函数解析
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
{
/* Check that a Tx process is not already ongoing */
if (huart->gState == HAL_UART_STATE_READY)
{
if ((pData == NULL) || (Size