使用串口空闲中断+DMA接收不定长数据的时候,需要明白,空闲中断是如何产生的,手册上写明了,空闲中断产生的标志是在接收数据后出现的一个byte的高电平。所以这里就有一个问题,当发送端发送数据的时候,一旦出现两个字节之间的间隔大于串口1byte的时间,那么单片机就会产生一个空闲中断,但是此时数据其实是还没有接受完的,这就造成了程序接收错误,导致不会回复的问题。
使用串口空闲中断+DMA接收不定长数据可能会出现的问题
最新推荐文章于 2023-05-08 11:51:16 发布
使用串口空闲中断+DMA接收不定长数据的时候,需要明白,空闲中断是如何产生的,手册上写明了,空闲中断产生的标志是在接收数据后出现的一个byte的高电平。所以这里就有一个问题,当发送端发送数据的时候,一旦出现两个字节之间的间隔大于串口1byte的时间,那么单片机就会产生一个空闲中断,但是此时数据其实是还没有接受完的,这就造成了程序接收错误,导致不会回复的问题。