本例子选择MSP430fr6989的P2.0与P2.1作为串口UCA0TXD UCA0RXD ;(代码不多,主要对寄存器的操作,急于求成都写在main.c文件,做工程不建议这样做)
主要用到这两个寄存器:
DMACTL0用于选择DMA通道;比如ADC12,串口 ,IIC,SPI,此处多说一句:DMA是一种方式,而SPI,IIC,串口等属于外设,两者不是一类概念,嘿嘿嘿
DMAxCTL用于DMA详细设置;此为重点!!!DMAxCTL包括:
DMADT:选择传输方式是一个单字节还是一个块transfer;本例子选简单的单字节transfer;
DMADSTINCR:分解单词DMA dest increase 即数据传送目标地址增加方式;有0 1 2 3四个选择,0和1代表地址不改变,2为地址递减,3为地址递增;
DMASRCINCR:同样分解DMA src increase 即数据源地址增加方式 。此刻如果疑问为何DMA需要dest和