MSP430x1xx系列ADC12与DMA笔记(包含源码)——DMA讲解(中)

本文介绍了MSP430x1xx系列微控制器的DMA控制器,包括其基础概念、特点和寄存器设置。通过配置DMACTL0和DMACTL1等寄存器,实现单次、块和突发块传输模式。示例代码展示了如何进行不同类型的DMA数据传输。
摘要由CSDN通过智能技术生成

一,DMA基础

  • DMA控制器模块在没有CPU干预的情况下将数据从一个地址传输到另一个地址。本章描述DMA控制器的操作。DMA控制器在MSP430x15x和MSP430x16x设备。
  • 译文:直接内存访问(DMA)控制器在整个地址范围内将数据从一个地址传输到另一个地址,而不需要CPU干预。例如,DMA控制器可以将数据从ADC12转换内存移动到RAM。
  • 采用DMA控制器可以提高外围模块的吞吐量
  • 它还可以通过允许CPU保持在低功耗模式,而不必唤醒来从外设移动数据来降低系统功耗。

 特点

 三个独立的传输通道   

可配置DMA通道优先级

字节或字和混合字节/字传输能力

可配置的传输触发器选择

单、块或突发块传输模式

二,寄存器设置 

 DMACTL0, DMA Control Register 0

 DMA0 TSELx

DMA触发选择.

0000 DMAREQ bit (software trigger) 0001 TACCR2 CCIFG bit 0010 TBCCR2 CCIFG bit 0011 URXIFG0 (UART/SPI mode), USART0 data received (I2C mode) 0100 UTXIFG0 (UART/SPI mode), USART0 transmit ready (I2C mode) 0101 DAC12_0CTL DAC12IFG bit 0110 ADC12 ADC12IFGx bit 0111 TACCR0 CCIFG bit 1000 TBCCR0 CCIFG bit 1001 URXIFG1 bit 1010 UTXIFG1 bit 1011 Multiplier ready 1100 No action 1101 No action 1110 DMA0IFG bit triggers DMA channel 1 DMA1IFG bit triggers DMA channel 2 DMA2IFG bit triggers DMA channel 0 1111 External trigger DMAE0

DMACTL1, DMA Control Register 1

 DMA ONFETCH

DMA在获取

0 DMA传输立即发生
1 DMA传输发生在触发器后的下一个指令获取

ROUND ROBIN

这个位启用了轮循DMA通道优先级。
0 DMA通道优先级为DMA0−DMA1−DMA2
1个DMA通道优先级随着每次传输而改变

ENNMI

启用敝中断。该位允许通过NMI中断中断DMA传输。当NMI中断DMA传输时,当前的传输正常完成,进一步的传输停止,并设置DMAABORT
0 NMI中断不中断DMA传输
NMI中断中断DMA传输

DMAxCTL, DMA Channel x Control Register

 DMADTx

DMA传输模式。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦灵-影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值