HAL库操作SD读写操作

本文档主要介绍了如何使用HAL库在单片机上进行SD卡的读写操作,包括配置RCC、设置SDIO模式、配置串口和时钟、编写测试函数等步骤,并提供了读写SD卡的示例代码。遇到读写失败的问题,可能是因为时钟分频系数过低,适当调整即可解决。
摘要由CSDN通过智能技术生成

SD卡知识的内容,在这里就不作介绍了。主要介绍代码的操作步骤:

第一步,新建工程配置RCC 设置外部晶振

第二步:配置sys,设置Debug为:Serial wire下载

第三步:配置SDIO mode 为SD 4 Wide bus 

第四步:配置串口打印(usart1) 以上配置参数默认就可以了。

第五步:配置时钟(Clock Configuration)把Input frequency 设置为:8Mhz就可以了。

选择HSE----->PLLCLK  通道.,并把HCLK设置为单片机支持最高时钟我的为180MHZ单击确定就可以了。

第六步:在main.c加入测试函数就可以了。

void SD_Test(void)
{
    printf("aaaaaaaaaaaaaaaaaaaaaa\a\n");

   /*获取SD卡的基本信息,比如总块数、块大小 */
  HAL_SD_CardInfoTypeDef CardInfo;

  HAL_SD_GetCardInfo(&hsd, &CardInfo);

printf("BlockNbr = %u\r\n",CardInfo.BlockNbr);  
printf("BlockSize = %u\r\n",CardInfo.BlockSize);  
printf("LogBlockNbr = %u\r\n",CardInfo.LogBlockNbr);  
printf("LogBlockSize = %u\r\n",CardInfo.LogBlockSize);  

/*往SD卡某块写入数据处理*/
uint8_t  buf1[512] = {0};
int

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值