求高手指点:在arm7上跑了个fatfs系统 ,格式化TF卡的时候,8G卡,格成了3个多G?? f_mkfs(0, 0, 4096)

发布时间:2019-09-03 00:42:44

求高手指点:在arm7上跑了个fatfs系统 ,格式化TF卡的时候,8G卡,格成了3个多G?? f_mkfs(0, 0, 4096)

推荐回答

刚好遇到同样的问题,现在把解决方法分享给大家。

1234567891011121314151617181920212223typedef struct{  SD_CSD SD_csd;  SD_CID SD_cid;    uint64_t CardCapacity; /*!< Card Capacity */  uint32_t CardBlockSize; /*!< Card Block Size */  uint16_t RCA;  uint8_t CardType;} SD_CardInfo;/*将*/uint32_t CardCapacity; /*!< Card Capacity *//*改为*/uint64_t CardCapacity; /*!< Card Capacity */ /*找到SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo)函数,找到cardinfo->CardCapacity = (cardinfo->SD_csd.DeviceSize + 1) * 512 * 1024;并将其注释*///cardinfo->CardCapacity = (cardinfo->SD_csd.DeviceSize + 1) * 512 * 1024;/*然后在其后面添加*/    cardinfo->CardCapacity = (cardinfo->SD_csd.DeviceSize + 1);    cardinfo->CardCapacity *= 512;    cardinfo->CardCapacity *= 1024;

 即可

以上问题属网友观点,不代表本站立场,仅供参考!