两天调试 stm32 单片机的 sdio 接口读写 sd 卡,把调试经验总结一下。我首先采用的是官方例程里面得 dma 方式,直接使用官方提供的 sdcard.c 文件。首先声明一个 uint32 类型的数据缓冲区,读写 sd 卡的每个扇区完全正常,随后添加 fatfs 的文件,然后改好接口函数,其中有一处做了强制转换,就是 fatfs 声明的缓冲区都是 uint8*类型的,而 sdcard.c 文件要求为 uint32*类型,所以我把 uint8*强制转换为 uint32*类型。编译成功后执行,结果 fatfs 的初始化函数返回“没有文件系统”,经过多次小改动后重试,问题依然如此,后来我怀疑是我强制转换出的问题,为了验证我的想法,我做了如下程序:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !