OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2366|回复: 1

用STM32CubeMX生成的SD卡驱动程序,无法读出SD卡的基本信息!

[复制链接]

4

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2019-12-9
在线时间
40 小时
发表于 2020-3-19 11:15:22 | 显示全部楼层 |阅读模式
本帖最后由 jiyuehua1023 于 2020-3-19 13:55 编辑

STM32CubeMX用的是最新的5.6版本,开发板用的原子的F407ZET。参照网友这个帖子:http://www.openedv.com/forum.php ... ghlight=cubemx%2BSD【分享】用STM32CubeMX快速生成一个SD卡读写程序 。一步步生成后,SD卡初始化可以通过,但是用HAL_SD_GetCardState(&SDCARD_Handler)函数读取状态,始终会超时错误,然后继续用HAL_SD_GetCardInfo(&SDCARD_Handler,&SDCardInfo)函数读取SD卡的基本信息,全部为0.
但是用开发板自带的程序却没有问题,SD卡基本信息都可以正确读取出来。又尝试了F103和H750的开发板,现象完全相同,不知道问题到底出在哪里。


int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_SDIO_SD_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
//        printf("F407 SD new!\r\n");
        if(HAL_SD_GetCardState(&SDCARD_Handler)==HAL_SD_CARD_TRANSFER)
                printf("HAL_SD_GetCardState OK!\r\n");
        else printf("HAL_SD_GetCardState NG!\r\n");        //此函数每次都是超时错误
        show_sdcard_info();        //打印SD卡相关信息        

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2019-12-9
在线时间
40 小时
 楼主| 发表于 2020-3-20 08:06:28 | 显示全部楼层
问题解决了,是HAL_SD_GetCardState(&SDCARD_Handler)这个函数中的实参不能用自己定义的SDCARD_Handler,要用系统自己定义好的hsd,就可以了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-3 16:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表