这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
dma实验_存储器到存储器的传输 [2020/07/04 14:36] zgf [四、 实验程序] |
dma实验_存储器到存储器的传输 [2022/03/22 10:19] (当前版本) sean |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | |||
+ | | **银杏科技有限公司旗下技术文档发布平台** |||| | ||
+ | |技术支持电话|**0379-69926675-801**||| | ||
+ | |技术支持邮件|Gingko@vip.163.com||| | ||
+ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
+ | | V1.0 | 2020-07-04 | gingko | 初次建立 | | ||
+ | |||
===== 实验十一:DMA实验——存储器到存储器的传输 ===== | ===== 实验十一:DMA实验——存储器到存储器的传输 ===== | ||
行 9: | 行 16: | ||
- 掌握KEIL MDK 集成开发环境使用方法。 | - 掌握KEIL MDK 集成开发环境使用方法。 | ||
==== 二、 实验设备及平台 ==== | ==== 二、 实验设备及平台 ==== | ||
- | - iCore4 双核心板。 | + | - iCore4 双核心板[[https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22598974120.15.5923532fsFrHiE&id=551864196684|点击购买]]。 |
- | - JLINK(或相同功能)仿真器。 | + | - JLINK(或相同功能)仿真器[[https://item.taobao.com/item.htm?id=554869837940|点击购买]]。 |
- Micro USB线缆。 | - Micro USB线缆。 | ||
- Keil MDK 开发平台。 | - Keil MDK 开发平台。 | ||
行 147: | 行 154: | ||
HAL_StatusTypeDef status = HAL_OK; | HAL_StatusTypeDef status = HAL_OK; | ||
assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* 检查参数 */ | assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* 检查参数 */ | ||
- | _HAL_LOCK(hdma); /* 进程锁定 */ | + | _HAL_LOCK(hdma); /* 进程锁定 */ |
if(HAL_DMA_STATE_READY == hdma->State) | if(HAL_DMA_STATE_READY == hdma->State) | ||
{ | { | ||
- | hdma->State = HAL_DMA_STATE_BUSY; /* 更改DMA外设状态 */ | + | hdma->State = HAL_DMA_STATE_BUSY; /* 更改DMA外设状态 */ |
- | hdma->ErrorCode = HAL_DMA_ERROR_NONE; /* 初始化错误代码 */ | + | hdma->ErrorCode = HAL_DMA_ERROR_NONE; /* 初始化错误代码 */ |
/* 配置源,目标地址和数据长度 */ | /* 配置源,目标地址和数据长度 */ | ||
DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); | DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); | ||
- | _HAL_DMA_ENABLE(hdma); /* 使能外围设备 */ | + | _HAL_DMA_ENABLE(hdma); /* 使能外围设备 */ |
} | } | ||
else | else | ||
{ | { | ||
- | _HAL_UNLOCK(hdma); /* 进程解锁 */ | + | _HAL_UNLOCK(hdma); /* 进程解锁 */ |
status = HAL_BUSY; /* 返回错误状态 */ | status = HAL_BUSY; /* 返回错误状态 */ | ||
} | } |