STM32
直播中

王辉

7年用户 1306经验值
私信 关注
[问答]

STM32L476G-DISCOVERY关于外设地址、储存地址、buffer size 怎么设置呢?

前的板子可以用DMA_InitTypeDef 来设置(初始化)

但是STM32L476G-DISCOVERY的设置中没有部分选项(上图中对勾选项是有的)

关于外设地址、储存地址、buffer size 怎么设置呢?

回帖(1)

陈勇

2024-4-26 17:39:28
STM32L476G-DISCOVERY 是一款基于 STM32L476 系列微控制器的开发板。关于外设地址、存储地址和 buffer size 的设置,您可以通过以下步骤进行:

1. 首先,确保您已经正确安装了 STM32CubeMX 工具,这是一个用于配置 STM32 微控制器的工具。

2. 打开 STM32CubeMX,选择您的微控制器型号(STM32L476xx)并配置您的系统。

3. 为了设置 DMA,您需要先配置与 DMA 相关的外设。例如,如果您使用 ADC 和定时器作为 DMA 源和目标,您需要先配置 ADC 和定时器。

4. 在 STM32CubeMX 中,找到并双击 "DMA" 选项。这将打开 DMA 配置窗口。

5. 在 DMA 配置窗口中,选择您要使用的 DMA 通道。对于 STM32L476G-DISCOVERY,您可以选择 DMA1 或 DMA2。

6. 接下来,配置 DMA 通道的参数。以下是一些关键参数的设置方法:

   a. 外设地址(Peripheral Address):这是 DMA 传输的源地址。在 "Peripheral Base Address" 字段中输入相应的外设地址。

   b. 存储地址(Memory Address):这是 DMA 传输的目标地址。在 "Memory Base Address" 字段中输入相应的存储地址。

   c. Buffer size:这是 DMA 传输的数据量。在 "Data Width" 字段中选择数据宽度(例如,8 位、16 位或 32 位),然后在 "Number of Data" 字段中输入要传输的数据数量。

7. 配置完 DMA 参数后,点击 "OK" 保存设置。

8. 生成代码:在 STM32CubeMX 中,点击 "Project" 菜单,然后选择 "Generate Code"。这将生成一个包含您配置的初始化代码的 C 文件。

9. 在您的应用程序中,包含生成的 C 文件,并使用 HAL 库函数初始化和配置 DMA。例如:

```c
MX_DMA_Init();
HAL_DMA_Init(&hdma_adc1);
```

10. 最后,启动 DMA 传输:

```c
HAL_DMA_Start(&hdma_adc1, (uint32_t)&ADC1->DR, (uint32_t)destination_buffer, buffer_size);
```

通过以上步骤,您应该能够成功设置 STM32L476G-DISCOVERY 开发板的外设地址、存储地址和 buffer size。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分