打印
[其他ST产品]

SDIO HAL库函数疑问

[复制链接]
787|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2022-8-24 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、函数SD_FindSCR为什么要配置块大小为8byte?
/* Set Block Size To 8 Bytes */
  errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U);



2、函数SD_SendSDStatus为什么要配置块大小为64byte?
  /* Set block size for card if it is not equal to current block size for card */
  errorstate = SDMMC_CmdBlockLength(hsd->Instance, 64U);


3、在读写块操作时,标准卡的地址为什么要乘以512?
例如函数HAL_SD_WriteBlocks里
    if(hsd->SdCard.CardType != CARD_SDHC_SDXC)
    {
      add *= 512U;
    }


看不明白,求解答!!!有大神知道的吗?

使用特权

评论回复
沙发
海滨消消| | 2022-9-5 10:55 | 只看该作者
这种问题还没遇到过,路过帮你顶一下

使用特权

评论回复
板凳
Stahan| | 2022-9-11 22:17 | 只看该作者
没遇到过这问题

使用特权

评论回复
地板
puppyh| | 2022-9-12 14:22 | 只看该作者
前两个问题去看一下SD卡的读写协议,估计就明白了,N年前看过,现在都忘了。最后一个问题与文件系统的FAT表的簇的大小有关,想了解的话去看看微软的FAT原理

使用特权

评论回复
5
andygirl| | 2022-9-12 16:54 | 只看该作者
这些都是看一遍的事,耐心看看手册或许有帮助

使用特权

评论回复
6
V853| | 2022-9-13 13:48 | 只看该作者
想了解这些配置需要去了解SDIO的底层协议。建议不用研究的太深!

使用特权

评论回复
7
Bowclad| | 2022-9-13 19:57 | 只看该作者
乘以512与文件系统的FAT表的簇的大小有关

使用特权

评论回复
8
Henryko| | 2022-9-13 20:53 | 只看该作者
耐心看一下手册

使用特权

评论回复
9
地下縱情搖擺| | 2022-9-21 10:37 | 只看该作者
好像是因为每次写都是这么大吧

使用特权

评论回复
10
热爱童话世界| | 2022-9-21 10:59 | 只看该作者
512的话,是1页大小

使用特权

评论回复
11
一枝香| | 2022-9-21 11:22 | 只看该作者
发送SD这个标记的,配置块大小,这块我还不知道,但是剩下俩都是跟数据相关的

使用特权

评论回复
12
晚晚皆安| | 2022-9-21 11:45 | 只看该作者
SCR是啥啊?是校验么?

使用特权

评论回复
13
笨蛋无需搭理| | 2022-9-21 12:07 | 只看该作者
我觉得乘以512是因为要一页一页操作

使用特权

评论回复
14
占得人间第一春| | 2022-9-21 12:29 | 只看该作者
这个其实是跟SD卡的结构相关的

使用特权

评论回复
15
喜爱弄人| | 2022-9-21 12:51 | 只看该作者
你可以查看一下SD的操作机制,这个都是标准操作的

使用特权

评论回复
16
討厭和人归類| | 2022-9-21 13:14 | 只看该作者
就按这个规则操作就行了,其实就是对数据的一个规范

使用特权

评论回复
17
林间有新绿| | 2022-9-21 13:36 | 只看该作者
写块,一块就是512字节吧

使用特权

评论回复
18
风吻过你的不羁| | 2022-9-21 13:59 | 只看该作者
我觉得就正常使用就行吧,应该就存储大小,每次操作就这么大


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

567

主题

2517

帖子

4

粉丝