嵌入式软件设计(DMA数据搬运)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        在MCU里面,数据搬运有两种方法,一种是CPU拷贝,一种是DMA搬运。因为MCU本身没有MMU,所以直接输入源地址、目的地址、大小,就可以实现dma的数据搬运。当然DMA完成的时候,有两种方式告诉软件,一种是BIT置位,一种是中断。今天我们使用的就是BIT位查询的方式。

1、查看main函数

int main(void)
{
  uint8_t TransferStatus;
  
  LED_GPIO_Config();
  LED_PURPLE;  
  Delay(0xFFFFFF);  
  
  DMA_Config(); 
  
  while(DMA_GetFlagStatus(DMA_FLAG_TC)==RESET)
  {  
  }   
  
  TransferStatus=Buffercmp(aSRC_Const_Buffer, aDST_Buffer, BUFFER_SIZE);
  if(TransferStatus==0)  
  {
    LED_RED;
  }
  else
  { 
    LED_BLUE;
  }

  while (1)
  {		
  }
}

        简单阅读下代码,有三个函数值得注意,一个是DMA_Config函数,一个是DMA_GetFlagStatus函数,最后一个是Buffercmp函数。很明显,第一个函数是配置,第二个函数是判

猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/125130053
今日推荐