实验28 片内RAM到RAM -DMA数据传输实验教程_第1页
实验28 片内RAM到RAM -DMA数据传输实验教程_第2页
实验28 片内RAM到RAM -DMA数据传输实验教程_第3页
实验28 片内RAM到RAM -DMA数据传输实验教程_第4页
免费预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验28 片内RAM到RAM -DMA数据传输实验教程 网址:http:/yh- QQ 技术支持: 1447200701 第 1 页 共 5 页 实实验验 28 片内片内 RAM 到到 RAM -DMA 数据传输实验教程数据传输实验教程 文档版本文档版本 : V1.0 日期日期 : 2013-11-27 修订记录修订记录: Version Author Date Changes V1.0 Tony 2013-11-27 初次释放 实验 28 片内 RAM 到 RAM -DMA 数据传输实验教程 网址:http:/yh- QQ 技术支持: 1447200701 第 2 页 共 5 页 先在 CCS3.3 或 CCS5.5 中打开项目文件“Example_2833xDMA_ram_to_ram.pjt” ,程序编 译成功后直接下载(Load Program)到开发板 DSP 中 。 / 功能描述: / / 代码将执行复制 1024 字节从 L5 SARAM 到 L4 SARAM , 数据的传递由定时器 0 触发 / 本例程使用 32 位数据尺寸,一旦传递结束,代码将进入并结束在 local_DINTCH1_ISR / 子程序中 / / 观察变量: / DMABuf1 / DMABuf2 实现结果如下,通过观察窗口可以看出 DMABuf1 数组变为 0、1、2、3.,说明数据通 过 DMA 传递成功 实验 28 片内 RAM 到 RAM -DMA 数据传输实验教程 网址:http:/yh- QQ 技术支持: 1447200701 第 3 页 共 5 页 CCS3.3 CCS5.5 void DMACH1AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) 源地址有两个,一个 A 为用于传输时(随每个字节递增),另一个 B 作为返回的备份(当一帧结束后,重新装载入 A) 实验 28 片内 RAM 到 RAM -DMA 数据传输实验教程 网址:http:/yh- QQ 技术支持: 1447200701 第 4 页 共 5 页 目的地址有两个,一个 A 为用于传输时(随每个字节递增),另一个 B 作为返回的备份(当一帧结束后,重新装载入 A) 每次启动 DMA 相应通道,都会把 B 装载入 A void DMACH1BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep) Bsize: 每一个脉冲传递的字的个数,实际脉冲数为 bsize+1 Srcbstep:每传递一个字后,源地址 A 增量 Desbstep:每传递一个字后,目的地址 A 增量 void DMACH1TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) Tsize:每一帧的脉冲个数,脉冲递减到 0 时(即一帧传递完成,也是 DMA 传递完成),产生 DMA 中断。实际帧数为 tsize+1 Srctstep:每个脉冲的最后一个字传递结束后,源地址 A 增量 Deststep:每个脉冲的最后一个字传递结束后,目的地址 A 增量 void DMACH1WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) Srcwsize:当已经传递的脉冲数为 srcwsize+1 的整数倍时,源地址(B)增加 srcwstep(常为 0),并装载入源地址 A Deswsize:当已经传递的脉冲数为 deswsize+1 的整数倍时,目的地址(B)增加 deswstep(常为 0),并装载入目的地址 A void DMACH1ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncse l, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) Persel:选择触发 DMA 的外设中断源 Perinte:外设中断使能, Oneshot:使能时,外设产生一次中断,就能够把一帧传递完。禁止,外设产生一次中断,只能传递一个脉冲 Cont:使能时,每次 DMA 结束后,需要再次启动 DMA 时,就不需要调用 void StartDMACH1(void)。禁止时,重启 DMA,需要调用 void StartDMACH1(void) Datasize:设置每个字是 16 位或者 32 位 Chintmode:设置 DMA 中断是在 DMA 启动或者结束时产生 Chinte:DMA 相应通道的中断使能(外设级)。 注:Perinte 和 Chinte 同时使能时,才能进入 DMA 通道中断 仅 Perinte 使能,可以传输数据,但是不进入通道的中断程序 实验 28 片内 RAM 到 RAM -DMA 数据传输实验教程 网址:http:/yh- QQ 技术支持: 1447200701 第 5 页 共 5 页 void StartDMACH1(void) 首次启动 DMA,若 Cont 为禁止,每次 DMA 结束后,需要再次启动 DMA 时需要调用 只开启相应用于触发的外设级中断,不开启 PIE 对应位,则能够触发 DMA 而不触发 CPU 的中断程序 经过 DMACH1ModeC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论