标题:
STM32(寄存器)实例赏析---DMA
[打印本页]
作者:
我是MT
时间:
2014-1-1 20:39
标题:
STM32(寄存器)实例赏析---DMA
#include "dma.h"
#include "delay.h"
u16 k;
void dma_init(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar,u16 cndtr)
{
u32 DR_Base;
RCC->AHBENR|=1<<0;
delay_ms(5);
DR_Base=cpar;
k=cndtr;
DMA_CHx->CPAR=DR_Base;
DMA_CHx->CMAR=(u32)cmar;
DMA_CHx->CNDTR=cndtr;
DMA_CHx->CCR=0X00000000;
DMA_CHx->CCR|=0<<4; // 从外设读
DMA_CHx->CCR|=0<<5; //不执行循环操作
DMA_CHx->CCR|=0<<6;
DMA_CHx->CCR|=0<<7; //执行存储器地址增量操作 执行外设地址非增量操作
DMA_CHx->CCR|=1<<8; //16位 储存器要与外设设置的位数一致
DMA_CHx->CCR|=1<<10; //16位
DMA_CHx->CCR|=1<<13; //通道优先级
DMA_CHx->CCR|=0<<14;
DMA_CHx->CCR&=~(1<<0); //关闭DMA传输
DMA_CHx->CNDTR=cndtr;
DMA_CHx->CCR|=1<<0; //开启DMA传输
}
void startdma(DMA_Channel_TypeDef*DMA_CHx)
{
DMA_CHx->CCR&=~(1<<0);
DMA_CHx->CNDTR=k;
DMA_CHx->CCR|=1<<0;
}
作者:
pengpengpang
时间:
2014-1-2 11:31
不错
作者:
Bazinga
时间:
2014-2-28 18:59
学习了
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0