最近闲了就玩玩STM32的SDIO驱动去了,小有收获
之前移植的是
http://www.openedv.com/posts/list/25845.htm这个版本的,发现bug特多,很不正常的那个,头大
后面移植了官方的V4.5.0这个版本,搞定了,建议大伙们想玩这个的话移植这个靠谱一点,呵呵,不过还是有个bug的,对照SD卡的相关资料也很容易找出来,主要就是在读写block函数里面要设置block大小命令CMD16,要不然很容易死在DMA检测上面(如果用DMA控制传输的话)
呵呵,发此帖庆祝一下,嘿嘿
附件是源代码,学习原子的做法,增加
SD_Error SD_ReadDisk(uint8_t *readbuff, uint32_t sector, uint16_t cnt); //读取磁盘SD_Error SD_WriteDisk(uint8_t *writebuff, uint32_t sector, uint16_t cnt); //写入磁盘
这两个函数,方便操作,呵呵
卡结构体中SDCardInfo.CardCapacity(卡的容量单位修改为MB)要想得到字节为单位的请将SDCardInfo.CardCapacity<<20即可
---------------------------------
源代码已经上传
一周热门 更多>