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

Posted 费晓行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式软件设计(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函数。很明显,第一个函数是配置,第二个函数是判

以上是关于嵌入式软件设计(DMA数据搬运)的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式软件设计(数据段——最容易面试被问倒的问题)

嵌入式软件设计(中期总结)

嵌入式软件设计(看门狗)

嵌入式软件设计(串口调试)

嵌入式软件设计(freertos使用)

嵌入式软件设计(怎么学)