STM32 DMA flag definitions 的含义

原文链接:https://www.itdoy.com/index.php/post/14.html
STM32F429使用HAL库实现DMA发送UART串口数据时的代码如下:

MYDMA_USART_Transmit(&UART1_Handler,(uint8_t*)tx,i);//启动DMA传输方式
while(!__HAL_DMA_GET_FLAG(&UART1TxDMA_Handler,DMA_FLAG_TCIF3_7));//等待DMA2_Steam7传输完成
__HAL_DMA_CLEAR_FLAG(&UART1TxDMA_Handler,DMA_FLAG_TCIF3_7);//清除DMA2_Steam7传输完成标志
HAL_UART_DMAStop(&UART1_Handler);//传输完成以后关闭串口DMA

其中的“DMA_FLAG_TCIF3_7”表示什么含义呢?我们在“STM32F4XX HAL驱动说明书”中找到了部分答案:

DMA flag definitions
DMA_FLAG_FEIF0_4    
DMA_FLAG_DMEIF0_4    
DMA_FLAG_TEIF0_4    
DMA_FLAG_HTIF0_4    
DMA_FLAG_TCIF0_4    
DMA_FLAG_FEIF1_5    
DMA_FLAG_DMEIF1_5    
DMA_FLAG_TEIF1_5    
DMA_FLAG_HTIF1_5    
DMA_FLAG_TCIF1_5    
DMA_FLAG_FEIF2_6    
DMA_FLAG_DMEIF2_6    
DMA_FLAG_TEIF2_6    
DMA_FLAG_HTIF2_6    
DMA_FLAG_TCIF2_6    
DMA_FLAG_FEIF3_7    
DMA_FLAG_DMEIF3_7    
DMA_FLAG_TEIF3_7    
DMA_FLAG_HTIF3_7    
DMA_FLAG_TCIF3_7

原来,这些都是“DMA flag definitions”,那么这些“DMA flag definitions”分别都代表什么含义呢?我们在“STM32F4XX中文参考手册”中找到了剩下的答案:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:根据以上寄存器的定义,我们可以看出,所谓的“DMA flag definitions”也就是对应着这些寄存器,比如“DMA_FLAG_TCIF3_7”就代表着“DMA_LISR”中“TCIF7”的数据流传输完成标志位(即数据流7的传输完成标志位),至于“3”,代表着通道“4”,3代表4是因为是从0开始计数表示。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值