⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dma.c

📁 msp430f169的dma flash程序
💻 C
字号:
#include "msp430x16x.h"
//本例程是利用串口接收数据,并使用DMA0通道进行存储.
void Init_clk() {
  char i;
  BCSCTL1=0x00;//XT2--ON
  do {
    IFG1&=~OFIFG;
    for(i=0;i<20;i++);
  }while(IFG1&OFIFG);
  BCSCTL2=SELM1+SELS;//XT2--MCLK,XT2--SMCLK
}

void Init_Urat1() {
  P5DIR=BIT5;
  P5OUT=BIT5;
  U1CTL=CHAR;//8bit数据宽度
  U1TCTL=SSEL1;//SMCLK串口时钟
  U1BR0=0x22;//4M晶振,115200波特率
  U1BR1=0x00;
  U1MCTL=0xED;
  ME2=URXE1+UTXE1;//使能接收与发送
  P3SEL=BIT6+BIT7;//配置串口端
  P3DIR|=BIT6;
}

void Init_DMA() {
  DMACTL0=DMA0TSEL_9;//配置触发源(URXIFG1)
  DMA0SA=U1RXBUF_;//配置源地址
  DMA0DA=0x300;//配置目标地址
  DMA0SZ=100;//数据长度
  DMA0CTL=DMADT_4+DMADSTINCR_3+DMADSTBYTE+DMAEN;//连续单字节传输,目标地址增1,目标存储格式(字符型),使能DMA0
}
  
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  Init_clk();
  Init_Urat1();
  Init_DMA();
  while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -