我用的sdcard.c的库 发现在读操作的时候,如果在等待sd卡数据返回的时候 如果其他中断发生的话 有时会产生硬件错误中断(HardFault_Handler)。
其中sdcard.c中会产生错误代码的部分为
SD_Error SD_ReadBlock(uint32_t addr, uint32_t *readbuff, uint16_t BlockSize)的
SDIO_ITConfig(SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_DATAEND | SDIO_IT_RXOVERR | SDIO_IT_RXFIFOHF | SDIO_IT_STBITERR, ENABLE);
while ((TransferEnd == 0) && (TransferError == SD_OK))/*在此等待的时候 会发生错误 其他方式亦然 */
{
;
}
if (TransferError != SD_OK)
{
return(TransferError);
}
此时其他任务又不能关闭,比如系统滴答的任务,这个怎么解决 |