DMA双缓冲传输意义
来源:互联网 发布:qq农场白萝卜数据 编辑:程序博客网 时间:2024/05/17 04:21
双缓冲,也有人叫乒乓缓冲.因为一般情况下,串口的数据DMA 传输进BUF1 的过程中,是不建议对
BUF1 进行操作的.但由于串口数据是不会等待的直传,所以你总不能等BUF1 满了,
才往FLASH 上写,因为这时候串口数据依旧是源源不断.于是,使用双缓冲就变的理
所当然了.当BUF1 满了的时候,就马上设置DMA的目标为BUF2,并且BUF1的数据
往25F080上灌.当串口DMA写满了BUF2的时候,再设置DMA的目标为BUF1,此时
再操作BUF2写进25F080.如此一直循环,就好像打乒乓球那样吧,所以就叫乒乓缓冲.
用这个方法,你必须确保两点:
a.DMA 灌满了BUF1 的时候,会发生中断,此时切换DMA 的目标缓冲为BUF2,而且切换的过程必须在新的串口数据溢出之前完成.
b.在DMA的BUF1满之前,另外一个有数据的BUF2必须能全部写进25F080,其中包括了遇到新的扇区边界而要刷除扇区的操作时间!!
可以看出,BUF的增大,并不能够很大程度的提升速度极限.
本文来自: 高校自动化网(Www.zdh1909.com) 详细出处参考(转载请保留本链接):http://www.zdh1909.com/html/stm32/10907_2.html
0 0
- DMA双缓冲传输意义
- STM32串口接收使用DMA双缓冲
- STM32的 USB传输(双缓冲)
- STM32的 USB传输(双缓冲)
- 传输数据中的双缓冲设计
- 6410 DMA传输
- STM32 DMA传输
- DMA传输详解
- DMA+LeUart传输数据
- 缓冲、中断和DMA技术
- dma传输原理,及其linux总线驱动之DMA传输,
- Nios II中的DMA传输
- DMA传输数据过程简介
- Xen中DMA传输解析
- STM32 ADC—DMA传输
- DMA传输中的内存对齐
- PCI9054的DMA传输过程
- NVMe驱动解析-DMA传输
- 【慕课笔记】U2 封装 第3节 JAVA中的访问修饰符
- 栈 3
- 堆排序--java实现
- oracle 同义词
- 【Maven由浅入深】4.在Eclipse中建立简单的项目1
- DMA双缓冲传输意义
- saltstack的安装配置
- 各浏览器Cookie大小、个数限制
- Linux运维资料
- TCP三次握手四次挥手过程详解
- myEclipse+tomcat 热部署
- iOS 的通知中心简介
- Linux 内核开发资料
- 【慕课笔记】U2 封装 第4节 JAVA中的this关键字