SD卡read_block函数一点疑问

2019-08-13 19:05发布

为啥地址要左移9位啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
aozima
1楼-- · 2019-08-14 01:04
4字节对齐是DMA要求

右移9位 实际是 除以 512.
大容量卡的地址单位是512字节。
天天mdk
2楼-- · 2019-08-14 03:40
 精彩回答 2  元偷偷看……
aozima
3楼-- · 2019-08-14 06:49
天天mdk 发表于 2017-10-18 09:55
那除以512之后得到的值是什么?

以前人少,直接XX路YY号。
现在人多了,变成了XX路YY弄。
一弄住512个人。
天天mdk
4楼-- · 2019-08-14 07:16
aozima 发表于 2017-10-18 09:58
以前人少,直接XX路YY号。
现在人多了,变成了XX路YY弄。
一弄住512个人。

还是不太明白啊,右移9位是除以512,但是剩下的值是什么意思啊,下一个地址吗?
天天mdk
5楼-- · 2019-08-14 08:00
天天mdk 发表于 2017-10-18 10:02
还是不太明白啊,右移9位是除以512,但是剩下的值是什么意思啊,下一个地址吗?

还有这一句什么意思啊  if((blksize>0)&&(blksize<=2048)&&((blksize&(blksize-1))==0))。blksize已经确定是512了,可是这里blksize&(blksize-1))==0为啥等于0

一周热门 更多>