mysql 单块读 多块读_求指点:STM32F103VC的SDIO读SD卡单块读成功,多块读却不行?...
各位牛人,小弟最近做一个项目,会用到STM32F103VC的SDIO读SD卡,单块读成功速度可以达到1M,多块读却不行?
请求各位能给予指点,或者相关代码参考。谢谢
我用的是stm32_eval_sdio_sd.c 的4.5版,
* @file stm32_eval_sdio_sd.c
* @author MCD Application Team
* @version V4.5.0
* @date 07-March-2011
* @brief This file provides a set of functions needed to manage the SDIO SD
* Card memory mounted on STM32xx-EVAL board (refer to stm32_eval.h
* to know about the boards supporting this memory).
-------------------------------------------------------------------------------------------------------------------------------------
SD_Error SD_ReadMultiBlocks(uint8_t *readbuff, uint32_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks)
{
SD_Error errorstatus = SD_OK;
TransferError = SD_OK;
TransferEnd = 0;
StopCondition = 1;
SDIO->DCTRL = 0x0;
if (CardType == SDIO_HIGH_CAPACITY_SD_CARD)
{
BlockSize = 512;
ReadAddr /= 512;
}
/*!< Set Block Size for Card */
SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) BlockSize;
SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCKLEN;
SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;
SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
SDIO_SendCommand(&SDIO_CmdInitStructure);
errorstatus = CmdResp1Error(SD_CMD_SET_BLOCKLEN);
if (SD_OK != errorstatus)
{
return(errorstatus);
}
SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT;
SDIO_DataInitStructure.SDIO_DataLength = NumberOfBlocks * BlockSize;
SDIO_DataInitStructure.SDIO_DataBlockSize = (uint32_t) 9 << 4;
SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToSDIO;
SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block;
SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable;
SDIO_DataConfig(&SDIO_DataInitStructure);
/*!< Send CMD18 READ_MULT_BLOCK with argument data address */
SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)ReadAddr;
SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_READ_MULT_BLOCK;
SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short;
SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
SDIO_SendCommand(&SDIO_CmdInitStructure);
errorstatus = CmdResp1Error(SD_CMD_READ_MULT_BLOCK);
if (errorstatus != SD_OK)
{
return(errorstatus);
}
SDIO_ITConfig(SDIO_IT_RXOVERR|SDIO_IT_DTIMEOUT|SDIO_IT_DCRCFAIL|SDIO_IT_DATAEND, ENABLE);
SDIO_DMACmd(ENABLE);
SD_LowLevel_DMA_RxConfig((uint32_t *)readbuff, (NumberOfBlocks * BlockSize));
errorstatus = SD_WaitReadOperation(); //121112 等待读操作完成
if (errorstatus != SD_OK)
{
return(errorstatus);
}
while(SD_GetStatus()!=SD_TRANSFER_OK); //121112
return(errorstatus);
}
mysql 单块读 多块读_求指点:STM32F103VC的SDIO读SD卡单块读成功,多块读却不行?...相关推荐
- 卡写入速度_看清商家买相机送SD卡的套路,一文教你掌握存储卡选购秘诀
学摄影,可能并不比学一门艺术或学科更简单,它可能更难. 我的工作是摄影教学,想在短时间内让学摄影的人顺利毕业,注定需要不厌其烦的整理.疏导琐碎的摄影知识,搭建知识网络,然后研发成课程.最终复盘再优化再 ...
- sdio接口_单片机基础 —— 使用SDMMC接口读写SD卡数据
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件SDMMC外设读取SD卡数据. 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32L4 ...
- 单链表的插入和删除_从0开始的编程之梦——数据结构之单链表的基本运算
一.求带有头结点的单链表长度 算法思路:沿带头节点单链表L的首元结点计数统计单链表长度 算法描述: 顺链头开始,计数器j初值为0:当前指针p指向链表L的首元结点 p=L->next p依次往后( ...
- mysql文档顶层出现无效内容_文档的顶层无效。处理资源问题,人家网站可以,我的不行!...
我将人家网站的xml复制到我的网站出现: 文档的顶层无效.处理资源 http://www.xp001.com/1.xml 我的不行(但是http://www.xp001.com/2.xml是差不多类型 ...
- 计算机无法读取内存,图文教你如何修复电脑无法识别读取的U盘(SD卡)!-内存卡在电脑上读不出来怎么办...
今天来说说如何自己动手修复电脑无法识别,读取的U盘,SD卡也同样可以修复,新手朋友可以借鉴学习学习,还望高手们勿喷! 想要修复肯定要用到修复工具,本文讲到的工具就是:"DiskGenius磁 ...
- SD卡电脑读取失败但是相机可读的问题描述和解决方案
本文由 @lonelyrains 出品,转载请注明出处. 文章链接: http://blog.csdn.net/lonelyrains/article/details/9074791 硬件环境:相机 ...
- deepin安装卡死在蓝色背景_求大神帮助~安装DEEPIN系统卡在蓝色背景图什么原因...
可能是联想拯救者 R7000笔记本的原因,用以下方法解决了 先点开联想的电脑管家 你能在左边栏找到一个选项 那个选项是显卡模式点击进去→然后选择独显模式(如果找不到就在当前界面里面选择调回游戏模式) ...
- java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能
想写个小程序实现类似linux中管道的功能,创建一个外部子进程,然后主进程不断地写输入给子进程,而后把子进程的返回值取出. 如下的小代码就是从stdin读入一个字符串,调用子进程(cat)返回这个串, ...
- android phone驱动_[基础知识] 将 OneDrive 同步到 SD 卡等外部驱动器
更新时间:2020年3月10日 随着 Windows 10 的普及,OneDrive 被越来越多的用户所了解.虽然个人版 OneDrive 在中国的使用有一定受限,但中国版 Office 365 的商 ...
最新文章
- 深入浅出统计学(十三)假设检验
- 【SSM框架系列】Mybatis映射配置文件与核心配置文件深入
- 最优化理论与方法(part8)--凸集的分离和支撑
- 华三交换机mode是什么意思_POE交换机150米、长距离250米传输是什么意思?
- a标签里面设置onclick_HTML学习笔记:各种常用标签
- 1321. Robot
- Linux常用命令—权限管理命令—权限管理命令chmod
- C语言求一个数的倒数的平方根近似值
- 零基础带你学习MySQL—日期函数(十五)
- Qt 内嵌浏览器几种办法
- linux打开dwg格式文件怎么打开软件,DWG 文件扩展名: 它是什么以及如何打开它?...
- leetcode-第13题 罗马数字转整数
- 【第一组】第二次例会会议记录
- ObjectPostProcessor使用与多种用户定义方式(9)
- 关于photoshop软件的177个小技巧
- hive与Oracle数据库的相互同步
- apdl与传统计算机语言,ANSYS经典APDL语言详解及ANSYS二次开发
- JavaScript递归函数的几种写法
- Confluence创建自动填充序列表格
- 【Oracle】6.JDBC
热门文章
- vue 计算属性和data_Vue.js教程(五)--Vue的计算属性
- strcmp可以比较数组么_数组:总结篇
- mysql 多对多_mysql多对一、多对多查询实践
- mac系统升级 brew 是用不了_Mac 终端(terminal) oh-my-zsh+solarized配置
- hbuilder制作简单网页_企业信息化网站+营销服务之电子商务网站制作流程
- 企业号开发php,微信企业号-开发笔记-1
- 5-10多分支网络结构
- 微信小程序 服务器触发事件,微信小程序组件间通讯与事件
- java自动下载更新程序_android实现软件自动更新的步骤
- 通常所说的pc机是指微型计算机,2017年自考计算机应用基础精选习题及答案(1)