STM32上面有个串口空闲中断,中断名称为IDLE,在这种机制下只要总线出现超过一个字节的空闲则可以认为数据已经收完,此外可以加上串口DMA
可以参考https://blog.csdn.net/shu_8708/article/details/73480939