我现在是这样 准备接收最多100个27个字节的数据,想用DMA+串口空闲中断来接收,但是现在出现问题是有时候会丢数据,还会出现这一帧的数据跑到上一帧,不知道怎么回事,请问DMA_CNDTR这个寄存器设置的数据是DMA只能接收这么多吗?在这里我设了个2700 每次进串口中断我都重新给他赋值,不知道用的对不对。 |
我现在是这样处理,定义一个【100】【27】的二维数组,每一次进串口中断把数组地址+1来接收 最后去读这个数组的数据 |
M没人指点一下吗 |
建议做一个接收缓冲区,dma进行接收收据,串口接收完会触发接收空闲中断,等接收空闲中断来临的时候直接去缓冲区内读数据 |