修改了bsp_usart的初始化方式,防止出现变包长数据读取一场的问题.增加了注释.

This commit is contained in:
NeoZeng
2022-11-19 16:28:39 +08:00
parent 269b08f701
commit e3137d867f
8 changed files with 85 additions and 93 deletions

View File

@@ -67,8 +67,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
if (huart == instance[i]->usart_handle)
{
instance[i]->module_callback();
memset(instance[i]->recv_buff,0,instance[i]->recv_buff_size);
memset(instance[i]->recv_buff,0,instance[i]->recv_buff_size); // 接收结束后清空buffer,对于变长数据是必要的
HAL_UARTEx_ReceiveToIdle_DMA(instance[i]->usart_handle, instance[i]->recv_buff, instance[i]->recv_buff_size);
__HAL_DMA_DISABLE_IT(instance[i]->usart_handle->hdmarx, DMA_IT_HT);
break;