提交 67faf922 编写于 作者: B bernard.xiong

change SD_DATATIMEOUT to 0xFFFFFFFF.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@548 bbd45198-f89e-11dd-88c7-29a3b14d5316
上级 280e07dc
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
#define SD_CARD_LOCKED ((uint32_t)0x02000000) #define SD_CARD_LOCKED ((uint32_t)0x02000000)
#define SD_CARD_PROGRAMMING ((uint32_t)0x00000007) #define SD_CARD_PROGRAMMING ((uint32_t)0x00000007)
#define SD_CARD_RECEIVING ((uint32_t)0x00000006) #define SD_CARD_RECEIVING ((uint32_t)0x00000006)
#define SD_DATATIMEOUT ((uint32_t)0x000FFFFF) #define SD_DATATIMEOUT ((uint32_t)0xFFFFFFFF)
#define SD_0TO7BITS ((uint32_t)0x000000FF) #define SD_0TO7BITS ((uint32_t)0x000000FF)
#define SD_8TO15BITS ((uint32_t)0x0000FF00) #define SD_8TO15BITS ((uint32_t)0x0000FF00)
#define SD_16TO23BITS ((uint32_t)0x00FF0000) #define SD_16TO23BITS ((uint32_t)0x00FF0000)
...@@ -956,16 +956,16 @@ SD_Error SD_ReadBlock(uint32_t addr, uint32_t *readbuff, uint16_t BlockSize) ...@@ -956,16 +956,16 @@ SD_Error SD_ReadBlock(uint32_t addr, uint32_t *readbuff, uint16_t BlockSize)
else if (DeviceMode == SD_DMA_MODE) else if (DeviceMode == SD_DMA_MODE)
{ {
rt_tick_t tick; rt_tick_t tick;
SDIO_ITConfig(SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_DATAEND | SDIO_IT_RXOVERR | SDIO_IT_STBITERR, ENABLE); SDIO_ITConfig(SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_DATAEND | SDIO_IT_RXOVERR | SDIO_IT_STBITERR, ENABLE);
SDIO_DMACmd(ENABLE); SDIO_DMACmd(ENABLE);
tick = rt_tick_get(); tick = rt_tick_get();
DMA_RxConfiguration(readbuff, BlockSize); DMA_RxConfiguration(readbuff, BlockSize);
while (DMA_GetFlagStatus(DMA2_FLAG_TC4) == RESET) while (DMA_GetFlagStatus(DMA2_FLAG_TC4) == RESET)
{ {
if ((TransferError != SD_OK) || (rt_tick_get() - tick > 10)) if ((TransferError != SD_OK) || (rt_tick_get() - tick > 10))
{ {
errorstatus = SD_ERROR; errorstatus = SD_ERROR;
// rt_kprintf("sd error\n"); // rt_kprintf("sd error\n");
break; break;
} }
...@@ -1164,16 +1164,16 @@ SD_Error SD_ReadMultiBlocks(uint32_t addr, uint32_t *readbuff, uint16_t BlockSiz ...@@ -1164,16 +1164,16 @@ SD_Error SD_ReadMultiBlocks(uint32_t addr, uint32_t *readbuff, uint16_t BlockSiz
else if (DeviceMode == SD_DMA_MODE) else if (DeviceMode == SD_DMA_MODE)
{ {
rt_tick_t tick; rt_tick_t tick;
SDIO_ITConfig(SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_DATAEND | SDIO_IT_RXOVERR | SDIO_IT_STBITERR, ENABLE); SDIO_ITConfig(SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_DATAEND | SDIO_IT_RXOVERR | SDIO_IT_STBITERR, ENABLE);
SDIO_DMACmd(ENABLE); SDIO_DMACmd(ENABLE);
tick = rt_tick_get(); tick = rt_tick_get();
DMA_RxConfiguration(readbuff, (NumberOfBlocks * BlockSize)); DMA_RxConfiguration(readbuff, (NumberOfBlocks * BlockSize));
while (DMA_GetFlagStatus(DMA2_FLAG_TC4) == RESET) while (DMA_GetFlagStatus(DMA2_FLAG_TC4) == RESET)
{ {
if ((TransferError != SD_OK) || (rt_tick_get() - tick > 10)) if ((TransferError != SD_OK) || (rt_tick_get() - tick > 10))
{ {
errorstatus = SD_ERROR; errorstatus = SD_ERROR;
// rt_kprintf("sd error\n"); // rt_kprintf("sd error\n");
return errorstatus; return errorstatus;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册