【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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函数。很明显,第一个函数是配置,第二个函数是判