Lire une carte SD avec un STM32

Bonjour à toutes et à tous,

Je reprends mes essais avec une carte STM32F103C8.

Je voudrais communiquer avec une carte SD. Pour cela, j'ai chargé la librairie "STM32Duino STM32SD". J'essaie avec un de leurs exemples et je tombe sur des erreurs de la librairie que je ne sais pas résoudre.

In file included from e:\Arduino\libraries\STM32duino_STM32SD\src/Sd2Card.h:40,
                 from e:\Arduino\libraries\STM32duino_STM32SD\src/STM32SD.h:22,
                 from E:\Arduino\libraries\STM32duino_STM32SD\examples\CardInfo\CardInfo.ino:12:
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:179:9: error: variable or field 'BSP_SD_GetCardInfo' declared void
  179 | void    BSP_SD_GetCardInfo(HAL_SD_CardInfoTypeDef *CardInfo);
      |         ^~~~~~~~~~~~~~~~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:179:28: error: 'HAL_SD_CardInfoTypeDef' was not declared in this scope
  179 | void    BSP_SD_GetCardInfo(HAL_SD_CardInfoTypeDef *CardInfo);
      |                            ^~~~~~~~~~~~~~~~~~~~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:179:52: error: 'CardInfo' was not declared in this scope; did you mean 'SD_CardInfo'?
  179 | void    BSP_SD_GetCardInfo(HAL_SD_CardInfoTypeDef *CardInfo);
      |                                                    ^~~~~~~~
      |                                                    SD_CardInfo
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:184:9: error: variable or field 'BSP_SD_MspInit' declared void
  184 | void    BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |         ^~~~~~~~~~~~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:184:24: error: 'SD_HandleTypeDef' was not declared in this scope; did you mean 'SPI_HandleTypeDef'?
  184 | void    BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |                        ^~~~~~~~~~~~~~~~
      |                        SPI_HandleTypeDef
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:184:42: error: 'hsd' was not declared in this scope
  184 | void    BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |                                          ^~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:184:47: error: expected primary-expression before 'void'
  184 | void    BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |                                               ^~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:185:9: error: variable or field 'BSP_SD_Detect_MspInit' declared void
  185 | void    BSP_SD_Detect_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |         ^~~~~~~~~~~~~~~~~~~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:185:31: error: 'SD_HandleTypeDef' was not declared in this scope; did you mean 'SPI_HandleTypeDef'?
  185 | void    BSP_SD_Detect_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |                               ^~~~~~~~~~~~~~~~
      |                               SPI_HandleTypeDef
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:185:49: error: 'hsd' was not declared in this scope
  185 | void    BSP_SD_Detect_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |                                                 ^~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:185:54: error: expected primary-expression before 'void'
  185 | void    BSP_SD_Detect_MspInit(SD_HandleTypeDef *hsd, void *Params);
      |                                                      ^~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:186:9: error: variable or field 'BSP_SD_MspDeInit' declared void
  186 | void    BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params);
      |         ^~~~~~~~~~~~~~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:186:26: error: 'SD_HandleTypeDef' was not declared in this scope; did you mean 'SPI_HandleTypeDef'?
  186 | void    BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params);
      |                          ^~~~~~~~~~~~~~~~
      |                          SPI_HandleTypeDef
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:186:44: error: 'hsd' was not declared in this scope
  186 | void    BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params);
      |                                            ^~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:186:49: error: expected primary-expression before 'void'
  186 | void    BSP_SD_MspDeInit(SD_HandleTypeDef *hsd, void *Params);
      |                                                 ^~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/bsp_sd.h:62:25: error: 'HAL_SD_CardInfoTypeDef' does not name a type
   62 | #define BSP_SD_CardInfo HAL_SD_CardInfoTypeDef
      |                         ^~~~~~~~~~~~~~~~~~~~~~
e:\Arduino\libraries\STM32duino_STM32SD\src/Sd2Card.h:135:5: note: in expansion of macro 'BSP_SD_CardInfo'
  135 |     BSP_SD_CardInfo _SdCardInfo;
      |     ^~~~~~~~~~~~~~~

exit status 1

Compilation error: exit status 1

Une idée de ce qu'il faut faire ?

Cordialement.

Pierre.

j'avais fait des essais avec la librairie "SD" sur STM32F407VET6, ça avait vachement bien fonctionné

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.