用DMA读取串口接收值(外设到内存,把UART->DR读取到自己定义的一个数组)时,设置DMA_InitStructure.DMA_BufferSize = 8是什么意思?网上很多人说这就代表读取8个字节的数据之后完成DMA,然后进入TC中断(TCIF已经置位)。但是大家都知道DMA读取寄存器的速度要远远大于串口通信的速度,那么这八次读取会不会出现因为串口太慢来不及更新DR而导致读取的八个值都一样的情况?还是说只有在串口的DR更新之后才会发送DMA请求继而把串口接收到的字节写入内存?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
清除DMA传输完成标志试试
一周热门 更多>