野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 274|回复: 1

STM32标准库DMA SRAM到串口程序问题

[复制链接]
发表于 2024-6-28 15:48:13 | 显示全部楼层 |阅读模式
请问下,在STM32标准库视频DMA一章,数据从SRAM到外设(串口),使能DMA时钟时,为什么示例程序里是RCC_AHBPeripheralClockCmd(USART_TX_DMA_CLK,ENABLE),而不是USART_RX_DMA_CLK呢?


// Memory -> P (USART->DR)
void USARTx_DMA_Config(void)
{
        DMA_InitTypeDef DMA_InitStruct;
       
        RCC_AHBPeriphClockCmd(USART_TX_DMA_CLK, ENABLE);
       
        DMA_InitStruct.DMA_PeripheralBaseAddr = (uint32_t)USART_DR_ADDRESS;
        DMA_InitStruct.DMA_MemoryBaseAddr = (uint32_t)SendBuff;
        DMA_InitStruct.DMA_DIR = DMA_DIR_PeripheralDST;
       
        DMA_InitStruct.DMA_BufferSize = SENDBUFF_SIZE;
       
        DMA_InitStruct.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
        DMA_InitStruct.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;       
        DMA_InitStruct.DMA_MemoryInc = DMA_MemoryInc_Enable;
        DMA_InitStruct.DMA_MemoryDataSize = DMA_PeripheralDataSize_Byte;
       
        DMA_InitStruct.DMA_Mode = DMA_Mode_Normal;
        DMA_InitStruct.DMA_Priority = DMA_Priority_High;
        DMA_InitStruct.DMA_M2M = DMA_M2M_Disable;
       
        DMA_Init(USART_TX_DMA_CHANNEL, &DMA_InitStruct);
       
        DMA_ClearFlag(USART_TX_DMA_FLAG_TC);
        DMA_Cmd(USART_TX_DMA_CHANNEL, ENABLE);
}


回复

使用道具 举报

发表于 2024-7-1 09:19:56 | 显示全部楼层
你是要将数据发送出去,所以是TX,而RX是接收数据使用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-8 12:57 , Processed in 0.131731 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表