嗨,伙计们,我试图用stm32 HAL库来进行连续的rx中断,我得到了一些我不知道的错误。
这是一个非常简单的程序。PC将字节分配给stm32板,stm32将使用rx中断例程接收这些字节。
问题是当我发送超过4个字节时,比如"12345",stm32板只有4个字节,而最后一个字节(5)已经消失了。这是为了更好地理解而绘制的图片。

下面是我在HAL_UART_RxCpltCallback例程中的代码:
HAL_UART_Transmit(&huart4, &receive1, 1, 1000);
HAL_UART_Receive_IT(&huart4, &receive1, 1);如果你有任何想法,请评论:)
发布于 2016-06-16 13:04:31
检查功能:HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
HAL_UART_RxCpltCallback例程调用到函数HAL_UART_Receive_IT(...)中。我建议您添加这样的结束字符(\n)检测:
if (*huart->pRxBuffPtr) == '\n') { HAL_UART_RxCpltCallback(huart);https://stackoverflow.com/questions/37829430
复制相似问题