DMA接收100个数据

2019-07-21 07:55发布

  DMA接收100个数据,绿灯就会翻转一次,同时收到的数据会返回给串口。
  注意:下完程序后,关机一次再验证,我用的是战舰103的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
2019-07-21 17:02
回复【3楼】空:
---------------------------------
void MYDMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar)
{
u32 DR_Base;
RCC->AHBENR|=1<<0; //????DMA1?±??
delay_ms(5); //????DMA?±?????¨
DR_Base=cpar;
DMA_CHx->CPAR=DR_Base;    //DMA1 ???è???· 
// DMA_CHx->CMAR=(u32)cmar;  //DMA1,?????÷???·
// DMA1_MEM_LEN=cndtr;       //±???DMA??????????
// DMA_CHx->CNDTR=cndtr;     //DMA1,??????????
DMA_CHx->CCR=0X00000000; //????
DMA_CHx->CCR|=0<<4;   //?????è??//
DMA_CHx->CCR|=0<<5;   //?????????·??×÷//
DMA_CHx->CCR|=0<<6;  //???è???··?????????
DMA_CHx->CCR|=1<<7;    //?????÷????????
DMA_CHx->CCR|=0<<8;    //???è?????í????8??
DMA_CHx->CCR|=0<<10;  //?????÷?????í??8??
DMA_CHx->CCR|=1<<12;      //??????????//
DMA_CHx->CCR|=0<<14;  //·??????÷???????÷????
DMA_CHx->CCR |= 1<<1;                         //???í???????? 
MY_NVIC_Init(2,2,DMA1_Channel5_IRQChannel,2);//×é2??×???????????

void MYDMA_Enable(DMA_Channel_TypeDef*DMA_CHx,u32 cmar,u16 cndtr)
{
DMA_CHx->CCR&=~(1<<0);       //??±?DMA???? 
DMA1_Channel6->CPAR=(u32)&USART2->DR;     //DMA1 ???è???· 
DMA1_Channel6->CMAR=(u32)cmar;     //DMA1,?????÷???·
DMA1_MEM_LEN=cndtr;       //±???DMA??????????
DMA_CHx->CNDTR=DMA1_MEM_LEN;     //DMA1,??????????
DMA_CHx->CCR|=1<<0;          //????DMA????
}   
void DMA1_Channel6_IRQHandler(void)
{
 FlagofDmaTest = TRUE;
}

一周热门 更多>