例: /* Get the number of remaining data units in the current DMA Channel2 transfer */ u16 CurrDataCount; CurrDataCount = DMA_GetCurrDataCounter(DMA_Channel2);
1.7 函数DMA_GetFlagStatus
函数名
DMA_GetFlagStatus
函数原形
FlagStatus DMA_GetFlagStatus(u32 DMA_FLAG)
功能描述
检查指定的 DMA 通道 x 标志位设置与否
输入参数
DMA_FLAG:待检查的 DMA 标志位
参阅 Section
DMA_FLAG 查阅更多该参数允许取值范围
输出参数
无
返回值
DMA_FLAG 的新状态(SET 或者 RESET)
先决条件
无
被调用函数
无
参数 DMA_FLAG 定义了待检察的标志位类型.
DMA_FLAG
描述
DMA_FLAG_GL1
通道 1 全局标志位
DMA_FLAG_TC1
通道 1 传输完成标志位
DMA_FLAG_HT1
通道 1 传输过半标志位
DMA_FLAG_TE1
通道 1 传输错误标志位
DMA_FLAG_GL2
通道 2 全局标志位
DMA_FLAG_TC2
通道 2 传输完成标志位
DMA_FLAG_HT2
通道 2 传输过半标志位
DMA_FLAG_TE2
通道 2 传输错误标志位
DMA_FLAG_GL3
通道 3 全局标志位
DMA_FLAG_TC3
通道 3 传输完成标志位
DMA_FLAG_HT3
通道 3 传输过半标志位
DMA_FLAG_TE3
通道 3 传输错误标志位
DMA_FLAG_GL4
通道 4 全局标志位
DMA_FLAG_TC4
通道 4 传输完成标志位
DMA_FLAG_HT4
通道 4 传输过半标志位
DMA_FLAG_TE4
通道 4 传输错误标志位
DMA_FLAG_GL5
通道 5 全局标志位
DMA_FLAG_TC5
通道 5 传输完成标志位
DMA_FLAG_HT5
通道 5 传输过半标志位
DMA_FLAG_TE5
通道 5 传输错误标志位
DMA_FLAG_GL6
通道 6 全局标志位
DMA_FLAG_TC6
通道 6 传输完成标志位
DMA_FLAG_HT6
通道 6 传输过半标志位
DMA_FLAG_TE6
通道 6 传输错误标志位
DMA_FLAG_GL7
通道 7 全局标志位
DMA_FLAG_TC7
通道 7 传输完成标志位
DMA_FLAG_HT7
通道 7 传输过半标志位
DMA_FLAG_TE7
通道 7 传输错误标志位
FlagStatus Status; Status = DMA_GetFlagStatus(DMA_FLAG_HT6);
1.8 7.2.8函数DMA_ClearFlag
函数名
DMA_ClearFlag
函数原形
void DMA_ClearFlag(u32 DMA_FLAG)
功能描述
清除 DMA 通道 x 待处理标志位
输入参数
DMA_FLAG:待清除的 DMA 标志位,使用操作符“
参阅 Section
DMA_FLAG 查阅更多该参数允许取值范围,用户可以使用或操作选中多个标志位
输出参数
无
返回值
无
先决条件
无
被调用函数
无
例: /* Clear the DMA Channel3 transfer error interrupt pending bit */ DMA_ClearFlag(DMA_FLAG_TE3);
1.9 函数DMA_GetITStatus
函数名
DMA_GetITStatus
函数原形
ITStatus DMA_GetITStatus(u32 DMA_IT)
功能描述
检查指定的 DMA 通道 x 中断发生与否
输入参数
DMA_IT:待检查的 DMA 中断源
参阅 Section
DMA_IT 查阅更多该参数允许取值范围
输出参数
无
返回值
DMA_IT 的新状态(SET 或者 RESET)
先决条件
无
被调用函数
无
DMA_IT
描述
DMA_IT_GL1
通道 1 全局中断
DMA_IT_TC1
通道 1 传输完成中断
DMA_IT_HT1
通道 1 传输过半中断
DMA_IT_TE1
通道 1 传输错误中断
DMA_IT_GL2
通道 2 全局中断
DMA_IT_TC2
通道 2 传输完成中断
DMA_IT_HT2
通道 2 传输过半中断
DMA_IT_TE2
通道 2 传输错误中断
DMA_IT_GL3
通道 3 全局中断
DMA_IT_TC3
通道 3 传输完成中断
DMA_IT_HT3
通道 3 传输过半中断
DMA_IT_TE3
通道 3 传输错误中断
DMA_IT_GL4
通道 4 全局中断
DMA_IT_TC4
通道 4 传输完成中断
DMA_IT_HT4
通道 4 传输过半中断
DMA_IT_TE4
通道 4 传输错误中断
DMA_IT_GL5
通道 5 全局中断
DMA_IT_TC5
通道 5 传输完成中断
DMA_IT_HT5
通道 5 传输过半中断
DMA_IT_TE5
通道 5 传输错误中断
DMA_IT_GL6
通道 6 全局中断
DMA_IT_TC6
通道 6 传输完成中断
DMA_IT_HT6
通道 6 传输过半中断
DMA_IT_TE6
通道 6 传输错误中断
DMA_IT_GL7
通道 7 全局中断
DMA_IT_TC7
通道 7 传输完成中断
DMA_IT_HT7
通道 7 传输过半中断
DMA_IT_TE7
通道 7 传输错误中断
7 transfer complete interrupt has occurred or not */ ITStatus Status; Status = DMA_GetITStatus(DMA_IT_TC7);
1.10 函 数 DMA_ClearITPendingBit
函数名
DMA_ClearITPendingBit
函数原形
void DMA_ClearITPendingBit(u32 DMA_IT)
功能描述
清除 DMA 通道 x 中断待处理标志位
输入参数
DMA_IT:待清除的 DMA 中断待处理标志位
参阅 Section
DMA_IT 查阅更多该参数允许取值范围
输出参数
无
返回值
无
先决条件
无
被调用函数
无
例: /* Clear the DMA Channel5 global interrupt pending bit */ DMA_ClearITPendingBit(DMA_IT_GL5);