stm32H743 cubemx USB模拟读卡器不识别问题

1 SDMMC FATFS

在以前的407工程都可以跑通, 但是新的cubemx对h743的SDMMC好像有问题

在没加入fatfs之前, 可以用下面代码读取参数

void sdmmc_test(void) {
    int sdcard_status = 0;
    HAL_SD_CardCIDTypedef sdcard_cid;
    sdcard_status = HAL_SD_GetCardState(&hsd1);
    if(sdcard_status == HAL_SD_CARD_TRANSFER)
    {
        printf("SD card init ok!\r\n\r\n");

        //打印SD卡基本信息
        printf("SD card information!\r\n");
        printf("CardCapacity: %llu\r\n",((unsigned long long)hsd1.SdCard.BlockSize*hsd1.SdCard.BlockNbr));
        printf("CardBlockSize: %d \r\n",hsd1.SdCard.BlockSize);
        printf("RCA: %d \r\n",hsd1.SdCard.RelCardAdd);
        printf("CardType: %d \r\n",hsd1.SdCard.CardType);

        //读取并打印SD卡的CID信息
        HAL_SD_GetCardCID(&hsd1,&sdcard_cid);
        printf("ManufacturerID: %d \r\n",sdcard_cid.ManufacturerID);
    }
    else
    {
        printf("SD card init fail!\r\n" );
    }

}

但是在加入fatfs之后, 就不能读取了, 必须要fatfs初始化挂载之后, 才能获取, 个人猜测是fatfs里面改动了代码, 导致比如挂载之后, 才和SDMMC通信

2 USB 读卡器的影响

所以造成的问题就是, 如果没挂载sd卡, 就不能获取到SD卡信息

    *block_num  = hsd1.SdCard.BlockNbr ;
    *block_size = hsd1.SdCard.BlockSize;

所以最后的方案就是挂载SD卡后, 再进行USB 读卡器设置

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值