DMA:直接存储器存储
ROM:只读存储器,非易失性,掉电不丢失存储器
ARM:随机存储器,易失性,掉电丢失存储器
1.RCC开启DMA时钟
2.调用DMA_Init,初始化里面的参数
3.开关控制
代码部分
- void DMA_DeInit(DMA_Channel_TypeDef* DMAy_Channelx);
恢复缺省配置
- void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct);
初始化
- void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct);
结构体初始化
- void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState);
使能
- void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState);
中断输出使能
void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber);
传输计数器写数据的
uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx);
返回传输计数器的值
- FlagStatus DMA_GetFlagStatus(uint32_t DMAy_FLAG);
- void DMA_ClearFlag(uint32_t DMAy_FLAG);
- ITStatus DMA_GetITStatus(uint32_t DMAy_IT);
- void DMA_ClearITPendingBit(uint32_t DMAy_IT);
获取标志位状态
清楚标志位
获取中断状态
清楚中断挂起位