I want to use the "STM32duino_STM32SD" library (last version 1.3.2) to connect a SD Card to my Blue Pill STM32F103C8 with 128 k.
In the Arduino IDE, to get this card, I selected :
- STM32 MCU based boards --> Generic STM32F1 series --> BluePill F103CB(or C8 with 128 k)
- Uploadmethod : "STM32CubeProgrammer (SWD)"
Now, I try an example of the library : "CardInfo.ino". This sketch includes <STM32SD.h>.
When I click to compile, I get the following errors, all belonging to this library :
Code: Select all
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
How can I solve this problem?
Best regards.
Pierre.