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