硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2482|回复: 0
收起左侧

[SD/SDIO] HAL库源文件stm32h7xx_hal_sd_ex.c学习笔记,主要用于配置SDIO自带的DMA(2018-09-28 V1.0)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2018-9-28 00:37:10 | 显示全部楼层 |阅读模式
说明

此文件主要是配置SDIO自带的DMA。



这个源文件内容比较少:
(1)使用函数HAL_SDEx_ConfigDMAMultiBuffer配置buffer0和buffer1的起始地址以及大型。
(2)多缓冲的读写操作是通过函数HAL_SDEx_ReadBlocksDMAMultiBuffer和HAL_SDEx_WriteBlocksDMAMultiBuffer实现。


1、函数HAL_StatusTypeDef HAL_SDEx_ConfigDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t *pDataBuffer0, uint32_t *pDataBuffer1, uint32_t BufferSize)

(1)配置的双缓冲,两个缓冲大小必须是一样的。

2、函数HAL_StatusTypeDef HAL_SDEx_ReadBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks)

(1)实现从地址BlockAdd开始读取NumberOfBlocks个块

3、函数HAL_StatusTypeDef HAL_SDEx_WriteBlocksDMAMultiBuffer(SD_HandleTypeDef *hsd, uint32_t BlockAdd, uint32_t NumberOfBlocks)

(1)实现从地址BlockAdd开始写入NumberOfBlocks个块

4、函数HAL_StatusTypeDef HAL_SDEx_ChangeDMABuffer(SD_HandleTypeDef *hsd, HAL_SDEx_DMABuffer_MemoryTypeDef Buffer, uint32_t *pDataBuffer)

(1)在运行状态下修改buffer0和buffer1的地址,如果当前在用buffer0,那么可修改buffer1,反之亦然。




回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 17:06 , Processed in 0.235666 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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