打印

GD32F103RCT6 SDIO读block出现CRC校验失败

[复制链接]
1159|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
t9080350|  楼主 | 2022-3-1 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 t9080350 于 2022-3-1 21:32 编辑

MCU=GD32F103RCT6SDIO模式=4BITS, POLLING
参考例程:GD32F10x_Firmware_Library_V2.2.2\Examples\SDIO\Read_write
可以通过SDIO初始化TF卡。
可以通过SDIO写入数据到TF卡。
在读数据时却出现CRC校验失败并跳出读block流程。
使用的是sd_error_enum sd_block_read(uint32_t *preadbuffer, uint32_t readaddr, uint16_t blocksize);
各位大佬有遇到过这个问题或者有什么思路吗?
希望得到指点,不胜感激!

if(SD_POLLING_MODE == transmode){
        /* polling mode */
        while(!sdio_flag_get(SDIO_FLAG_DTCRCERR | SDIO_FLAG_DTTMOUT | SDIO_FLAG_RXORE | SDIO_FLAG_DTBLKEND | SDIO_FLAG_STBITE)){
            if(RESET != sdio_flag_get(SDIO_FLAG_RFH)){
                /* at least 8 words can be read in the FIFO */
                for(count = 0; count < SD_FIFOHALF_WORDS; count++){
                    *(ptempbuff + count) = sdio_data_read();
                }
                ptempbuff += SD_FIFOHALF_WORDS;
            }
        }
        
        /* whether some error occurs and return it */
        if(RESET != sdio_flag_get(SDIO_FLAG_DTCRCERR)){
            status = SD_DATA_CRC_ERROR;
            sdio_flag_clear(SDIO_FLAG_DTCRCERR);
            return status;




使用特权

评论回复
沙发
t9080350|  楼主 | 2022-3-1 21:32 | 只看该作者
有人吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

21

帖子

0

粉丝