关于STM32F1的DMA问题

2019-08-16 18:35发布

大佬们,我用32的DMA传输我编码模式下的TIM2的计数值,为啥怎么都没有?
$UM6TK]ND8I`FN$RIM5{`WE.png 9KYFQ]Q3`QR[]FR9OG_LTU5.png

J5SI3]V}29TIVYPGQ4P$JQJ.png

T%)[_EN6Y~0([{R}I~PL5]M.png


附上DMA的初始化程序


void MYDMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar,u16 cndtr)
{
  //u32 DR_Base;//做缓冲用
        RCC->AHBENR|=1<<0;                        //开启DMA1时钟
  //DR_Base=cpar;
        //delay_ms(1);                                //等待DMA时钟稳定
        __nop();
        __nop();
        __nop();
        //DMA_CHx->CPAR=DR_Base;         //DMA1 外设地址
        DMA_CHx->CPAR=cpar;                    //DMA1 外设地址
        DMA_CHx->CMAR=(u32)cmar;         //DMA1,存储器地址
        DMA1_MEM_LEN=cndtr;              //保存DMA传输数据量
        DMA_CHx->CNDTR=cndtr;            //DMA1,传输数据量
        DMA_CHx->CCR=0X00000000;        //复位
  //DMA_CHx->CCR=0x000025A3;
        DMA_CHx->CCR=0x00002521;
        DMA_CHx->CCR|=1<<0;
  //DMA_CHx->CCR|=1<<1;       //允许传输完中断
/*       
        DMA_CHx->CCR&=~(1<<4);          //从外设读
        DMA_CHx->CCR|=1<<5;                    //循环管模式
        DMA_CHx->CCR|=0<<6;                   //外设地址非增量模式
        DMA_CHx->CCR|=1<<7;                    //存储器增量模式
        DMA_CHx->CCR|=1<<8;                    //外设数据宽度为16位
        DMA_CHx->CCR|=1<<10;                   //存储器数据宽度16位
        DMA_CHx->CCR|=1<<12;                   //中等优先级
        DMA_CHx->CCR|=0<<14;                   //非存储器到存储器模式       
*/
       
//        DMA1->IFCR |= 1<<1; //清零通道完成中断标志位
//        MY_NVIC_Init(1,3,DMA1_Channel1_IRQn,2);
       
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。