STM32串口DMA 传输与乒乓缓冲的深入研究(含源码).doc

STM32串口DMA 传输与乒乓缓冲的深入研究(含源码).doc

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32串口DMA 传输与乒乓缓冲的深入研究(含源码)

STM32串口DMA 传输与乒乓缓冲的深入研究(含源码) 导读:就爱阅读网友为您分享以下“STM32串口DMA 传输与乒乓缓冲的深入研究(含源码)”的资讯,希望对您有所帮助,感谢您对92的支持! ? STM32的串口DMA?传输与乒乓缓冲的深入研究(含源代码)? 作者:羊羊校长??? 一.乒乓缓冲原理? ?一般情况下,串口数据DMA传输到BUF1(内存上的一片连续的缓冲区)的过程中,是不建议对BUF1进行操作的。但由于串口数据是一个连续传输的过程,比如接收GPS数据,不能等待BUF1满了才处理数据,你CPU在处理数据的同时,串口源源不断接收数据,此时会造成串口数据丢失,而乒乓缓冲就完美地解决了这个问题。? ?具体过程是:当串口BUF1满了时,DMA的目标地址迅速切换到BUF2,此时可以处理BUF1的数据;当串口BUF2满了时,DMA的目标地址迅速切换到BUF1,此时可以处理BUF2的数据。如此一直循环下去,就像打乒乓球一样,你推我挡,故称作乒乓缓冲。?? 二.STM32中的DMA介绍? DMA,全称为:Direct?Memory?Access,即直接存储器访问。DMA传输方式无需?CPU直?接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为?RAM?与?I/O设备开辟一条直接传送数据的通路,能使?CPU的效率大为提高。?? STM32?最多有?2?个?DMA?控制器(DMA2?仅存在大容量产品中)?,DMA1?有?7?个通道。DMA2?有?5个通道。每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁起来协调各个?DMA?请求的优先权。?? DMA1:? ? DMA2: ? ? 解释一下DMA1中的逻辑或,?例如通道?1?的几个?DMA1?请求?(ADC1、?TIM2_CH3、TIM4_CH1),这几个是通过逻辑或到通道?1?的,这样我们在同一时间,就只能使用其中的一个。其他通道也是类似的。? ?STM32的?DMA有以下一些特

文档评论(0)

raojun00007 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档