完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
[size=13.3333px]我现在在弄读写TF卡,用的是[size=13.3333px]MSP430F5342[size=13.3333px],我发CMD0、CMD55、ACMD41返回值没错;不过发CMD8时,V1.x的卡返回0xFF,V2.0的卡返回0x01;2.0的卡前几个命令没错,但发到CMD58时出错了,返回0xFF。我还有一个F149的开发板,SD卡能读写,但SDHC卡也一样,也是在CMD58那返回0xFF,请问我该怎么解决,求大神指教!
|
|
相关推荐
4个回答
|
|
还有我现在重复发CMD58,返回值不是0xFF就是0x01,一直都是这两个值
|
|
|
|
现在我程序改用FatFs13里的ff.h、ff.c、diskio.h、diskio.c作底层函数,发命令CMD0、8、55、ACMD41、58返回值都没错了。不过用16G的卡时,用f_mount函数注册一个工作区会返回FR_NO_FILESYSTEM,但我用2G的FAT卡时却能成功,后面还能用f_open创建一个文件并用f_write写入数,我把这2G的FAT卡格式化为FAT32后,也一样能成功。
不知道怎么回事,求大神指教!!! |
|
|
|
本帖最后由 joyxysetu 于 2017-10-30 10:05 编辑
上面的问题解决了,16G的卡不用转换为字节地址,用扇区地址。现在能创建文件并写入数据了,但又发现了新的问题,不知为什么发CMD8命令2G的卡会返回0x01,这不就说明这卡是2.0的吗,但文件系统是FAT16啊,我换成以前的程序,就不返回0x01了,字节地址转换成扇区地址不应该影响CMD8的。 CMD8的返回值作判断,判别1.0和2.0的卡,判断为2.0的卡后发CMD55、ACMD41、CMD58之后,读写数据时才会把地址换成扇区地址,这部分应该影响不到CMD8的返回值,而且我把改的这部分删了也一样,不知道哪出了问题,求大神指教! |
|
|
|
贴住SD 硬件电路部分可以看下吗?
|
|
|
|
只有小组成员才能发言,加入小组>>
3053个成员聚集在这个小组
加入小组2970 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3694 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2366 浏览 1 评论
4832 浏览 1 评论
2592 浏览 1 评论
1398浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3695浏览 2评论
2970浏览 1评论
1590浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 03:00 , Processed in 1.311013 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号