stm32中sd卡的问题

2019-07-21 03:01发布

系统运行时正常,对SD卡的读写都是成功的,但是运行一段时间之后,就会卡死在while(SD_GetStatus() != SD_TRANSFER_OK),网上看到很多人都存在这个问题,各位都是怎么解决的啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Beans
2019-07-21 07:36
回复【2楼】正点原子:
---------------------------------
是在死在这个函数
:DRESULT disk_write (
BYTE drv, /* hysical drive nmuber (0..) */
const BYTE *buff,         /* Data to be written */
DWORD sector, /* Sector address (LBA) */
BYTE count /* Number of sectors to write (1..255) */
)


/* Write block of 512 bytes on address 0*/
Status = SD_WriteBlock((uint8_t *)buff, sector << 9, _MAX_SS);
/* Check if the Transfer is finished */
//Status = SD_WaitWriteOperation();
while(SD_GetStatus() != SD_TRANSFER_OK);
此处写完数据到TF卡后,检查是否完成,返回的是SD_TRANSFER_BUSY,并且不是系统一上电就卡死的,而是运行一段时间出现的现象不好查找问题出在哪里

一周热门 更多>