正点原子f407使用cubemx创建 fatfs的一些bug记录

设置时钟频率

设置SDIO

设置fatfs

设置串口

设置DBUG

生成CubeIDE

这个坑爹东西,默认选了4B,4B会报错,需要在这里设置成1B才行!

main函数

添加一下printf重定向到串口

cpp 复制代码
// 重定向print start

int __io_putchar(int ch)
{
	while ((USART1->SR & 0X40) == 0);
	USART1->DR = (uint8_t) ch;
	return ch;
}

__attribute__((weak)) int _write(int file, char *ptr, int len)
{
	int DataIdx;
	for (DataIdx = 0; DataIdx < len; DataIdx++)
	{
		__io_putchar(*ptr++);
	}
	return len;
}

添加一下打印sd卡信息的函数

cpp 复制代码
void printf_sdcard_info(void)
{
	uint64_t CardCap;      	//SD卡容�??????
	HAL_SD_CardCIDTypeDef SDCard_CID;
	HAL_SD_CardInfoTypeDef  SDCardInfo;
	HAL_SD_GetCardCID(&hsd,&SDCard_CID);	//获取CID
	HAL_SD_GetCardInfo(&hsd,&SDCardInfo);                    //获取SD卡信�??????
	CardCap=(uint64_t)(SDCardInfo.LogBlockNbr)*(uint64_t)(SDCardInfo.LogBlockSize);	//计算SD卡容�??????
	switch(SDCardInfo.CardType)
	{
		case CARD_SDSC:
		{
			if(SDCardInfo.CardVersion == CARD_V1_X)
				printf("Card Type:SDSC V1\r\n");
			else if(SDCardInfo.CardVersion == CARD_V2_X)
				printf("Card Type:SDSC V2\r\n");
		}
		break;
		case CARD_SDHC_SDXC:printf("Card Type:SDHC\r\n");break;
		default:break;
	}

    printf("Card ManufacturerID: %d \r\n",SDCard_CID.ManufacturerID);				//制�?�商ID
 	printf("CardVersion:         %d \r\n",(uint32_t)(SDCardInfo.CardVersion));		//卡版本号
	printf("Class:               %d \r\n",(uint32_t)(SDCardInfo.Class));		    //
 	printf("Card RCA(RelCardAdd):%d \r\n",SDCardInfo.RelCardAdd);					//卡相对地�??????
	printf("Card BlockNbr:       %d \r\n",SDCardInfo.BlockNbr);						//块数�??????
 	printf("Card BlockSize:      %d \r\n",SDCardInfo.BlockSize);					//块大�??????
	printf("LogBlockNbr:         %d \r\n",(uint32_t)(SDCardInfo.LogBlockNbr));		//逻辑块数�??????
	printf("LogBlockSize:        %d \r\n",(uint32_t)(SDCardInfo.LogBlockSize));		//逻辑块大�??????
	printf("Card Capacity:       %d MB\r\n",(uint32_t)(CardCap>>20));				//卡容�??????

}

运行

能识别到了,在这里想骂一句CubeMX,你特娘的

相关推荐
IT 行者2 小时前
Spring Boot 4.0.5 正式发布:Bug 修复与依赖升级
spring boot·后端·bug
pip install USART16 小时前
解决@Autowired注解失败导致空指针bug
java·spring·bug
Bear on Toilet19 小时前
接入OpenAI无法发送请求,响应为空?Bug: C++ 接入 OpenAI 中转 API
后端·ai·bug
弹简特1 天前
【测试基础-Bug篇】10-Bug禅道工具使用及测试计划文档编写
bug
阿 才2 天前
正点原子阿尔法imux6ull烧录不进tf卡程序
bug
风酥糖2 天前
Godot游戏练习01-第19节-解决多人游戏bug
游戏·bug·godot
弹简特3 天前
【测试基础-Bug篇】09-测试用例的评审和测试执行之Bug定义及Bug生命周期及Bug管理流程
测试用例·bug
Roselind_Yi3 天前
排查Visual C++堆损坏(HEAP CORRUPTION)错误:从报错到解决的完整复盘
java·开发语言·c++·spring·bug·学习方法·远程工作
云和数据.ChenGuang3 天前
langchain安装过程中的故障bug
人工智能·langchain·bug·langsmith·langchain-core
Yao.Li3 天前
PVN3D 模型训练 Bug 调试指南
bug