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 的商 ...
最新文章
- 【转】完美解决Asp.Net的MasterPage中添加JavaScript路径问题
- java中JFrame去掉边框设置背景
- 具体knn算法概念参考knn代码python实现
- iOS-应用生命周期
- 在JShell中尝试Java9 HTTP客户端和Process API
- 网络安全web渗透技术
- teamtalk原理
- 关于企业电子工单系统的解决方案
- HTML5七夕情人节表白网页(花瓣相册表白) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白
- java茌首字母_获取输入字符的首字母(中文为拼音首字母)
- [TCP]基于TCP的心跳和加密设计
- getResource()的几种路径方式
- ORACLE 12C EM 端口5500关闭及如何修改默认端口
- 数据挖掘——数据挖掘的起源
- 神兵利器 nth_element
- 76Echarts - 散点图(Life Expectancy and GDP)
- 0基础用vagrant 快速构建larval开发环境 (我杨某人尽力描述了,都有从0介绍)
- Google财经香港版上线,香港路演
- 小红帽 oracle,linux 小红帽 一键安装ffmpeg
- Python 计算两个日期之间天数
热门文章
- deepin安装bochs2.6.2_深度Deepin系统中wine4.0.1源编辑安装
- python pip download_Python Pip 参考手册 - pip download 命令
- JUC阻塞队列BlockingQueue讲解
- 为dhcp服务器授权的作用,有关在 AD DS 中为 DHCP 服务器授权的详细信息
- linux 1060显卡,Steam最受欢迎显卡型号出炉:GTX 1060显卡的占有率依然排名第一
- c++ linux 获取毫秒_Linux下gettimeofday()函数和clock()函数:精确到毫秒级的时间
- 根据ip获取所在城市 php,PHP:根据IP地址获取所在城市
- python 数据变化——n次多项式
- joblib多线程、多进程学习案例(一)——一步步写多进程任务
- Python快速读取文件中指定的一行或多行