请教个关于sd的问题

2019-07-21 08:18发布

M)%LUKEELS5B)PXXVO_03%8.png
请问下if((u32)buf%4!=0)这一局是干嘛的呢  还有
for(n=0;n<cnt;n++)
                {
                         sta=SD_ReadBlock(SDIO_DATA_BUFFER,lsector+512*n,512);//单个sector的读操作
                        memcpy(buf,SDIO_DATA_BUFFER,512);
                        buf+=512;
                }



if(cnt==1)sta=SD_ReadBlock(buf,lsector,512);            //单个sector的读操作
                else sta=SD_ReadMultiBlocks(buf,lsector,512,cnt);//多个sector  


这两个读操作有什么区别吗

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-21 12:50
1, 必须保证数组的首地址是4的倍数,因为SDIO FIFO操作的要求。
2,单个和多个的区别。速度来说多块读会快一些。
3,因为要转换成字节地址。
不良苏
2楼-- · 2019-07-21 13:43
lsector<<=9;为啥要左移呀

一周热门 更多>