SPI驱动的SD卡, 创建文件夹返回错误FR_DISK_ERR

2019-07-20 21:58发布

SPI驱动正常,SD卡挂载正常,但是运行到f_mkdir函数时,总是返回错误FR_DISK_ERR 调试跟踪发现是  dcl==0xFFFFFFFF导致的,求解决办法。
f_open    f_sync   运行正常,但是f_write  也会返回错误 FR_DISK_ERR   
最后创建的文件打开提示  文件或目录损坏且无法读取   
SD卡的事情困惑我一周了。。。求帮忙!!!
QQ图片20160528102834.png
QQ图片20160528103008.png
QQ图片20160528104157.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
zhangyuman
1楼-- · 2019-07-21 01:20
zhangyuman 发表于 2016-5-29 10:26
解决问题了,重新格式化SD

重新格式化SD卡,之前分配的单元大小是32K 改成4K就可以了
zhangyuman
2楼-- · 2019-07-21 03:11
 精彩回答 2  元偷偷看……
zhangyuman
3楼-- · 2019-07-21 04:37
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-21 05:02
杜邦线有一定影响,降低下SPI频率试试
zhangyuman
5楼-- · 2019-07-21 09:53
正点原子 发表于 2016-5-28 19:58
杜邦线有一定影响,降低下SPI频率试试

把高速和低速都调成了256分频也没有用。。。  SPI有时候接收不到数据   超时返回
[mw_shl_code=applescript,true]//SPIx ¶áD′ò»¸ö×Ö½ú
//TxData:òaD′èëμÄ×Ö½ú
//·μ»ØÖμ:¶áè¡μ½μÄ×Ö½ú
u8 SPI2_ReadWriteByte(u8 TxData)
{               
        u8 retry=0;                                        
        while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //¼ì2éÖ¸¶¨μÄSPI±ê־λéèÖÃóë·ñ:·¢Ëí»o′æ¿Õ±ê־λ
                {
                retry++;
                if(retry>200)return 0;
                }                          
        SPI_I2S_SendData(SPI2, TxData); //í¨1yíaéèSPIx·¢Ëíò»¸öêy¾Y
        retry=0;

        while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET)//¼ì2éÖ¸¶¨μÄSPI±ê־λéèÖÃóë·ñ:½óêü»o′æ·Ç¿Õ±ê־λ
                {
                retry++;
                if(retry>200)return 0;
                }                                                              
        return SPI_I2S_ReceiveData(SPI2); //·μ»Øí¨1ySPIx×î½ü½óêÕμÄêy¾Y                                            
}[/mw_shl_code]
zhangyuman
6楼-- · 2019-07-21 11:29
解决问题了,重新格式化SD

一周热门 更多>