Stm32 github arduino example doesn't compile errors

Hi I am trying to compile with the stm32 arduino board type STM32F103Cx generic.

had a error added and commented out the error line.

//#include <sys/_stdint.h>
#include <stdint.h>

error line
SPIClass SPI1_FE(PIN_SPI1_MOSI,PIN_SPI1_MISO,PIN_SPI1_SCLK);

error code

Arduino: 1.8.19 (Windows 8.1), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STM32duino bootloader, 72Mhz (Normal), Smallest (default)"





















Firmware_BioSignals:40:59: error: no matching function for call to 'SPIClass::SPIClass(<anonymous enum>, <anonymous enum>, <anonymous enum>)'

 SPIClass SD_SPI2(PIN_SPI2_MOSI,PIN_SPI2_MISO,PIN_SPI2_SCLK);

                                                           ^

C:\Users\User\Desktop\biosignals-main\Firmware_BioSignals\Firmware_BioSignals.ino:40:59: note: candidates are:

In file included from C:\Users\User\Desktop\biosignals-main\Firmware_BioSignals\Firmware_BioSignals.ino:1:0:

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:176:5: note: SPIClass::SPIClass(uint32)

     SPIClass(uint32 spiPortNumber);

     ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:176:5: note:   candidate expects 1 argument, 3 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note: constexpr SPIClass::SPIClass(const SPIClass&)

 class SPIClass {

       ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note:   candidate expects 1 argument, 3 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note: constexpr SPIClass::SPIClass(SPIClass&&)

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note:   candidate expects 1 argument, 3 provided

Firmware_BioSignals:45:49: error: no matching function for call to 'HardwareSerial::HardwareSerial(<anonymous enum>, <anonymous enum>)'

 HardwareSerial USB_SERIAL(PIN_TX_ISO, PIN_RX_ISO);

                                                 ^

C:\Users\User\Desktop\biosignals-main\Firmware_BioSignals\Firmware_BioSignals.ino:45:49: note: candidates are:

In file included from C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/wirish.h:70:0,

                 from C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/Arduino.h:30,

                 from sketch\Firmware_BioSignals.ino.cpp:1:

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:128:5: note: HardwareSerial::HardwareSerial(usart_dev*, uint8, uint8)

     HardwareSerial(struct usart_dev *usart_device,

     ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:128:5: note:   candidate expects 3 arguments, 2 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note: constexpr HardwareSerial::HardwareSerial(const HardwareSerial&)

 class HardwareSerial : public Stream {

       ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note:   candidate expects 1 argument, 2 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note: constexpr HardwareSerial::HardwareSerial(HardwareSerial&&)

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note:   candidate expects 1 argument, 2 provided

Firmware_BioSignals:48:46: error: no matching function for call to 'HardwareSerial::HardwareSerial(<anonymous enum>, <anonymous enum>)'

 HardwareSerial BT_SERIAL(PIN_BT_TX, PIN_BT_RX);

                                              ^

C:\Users\User\Desktop\biosignals-main\Firmware_BioSignals\Firmware_BioSignals.ino:48:46: note: candidates are:

In file included from C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/wirish.h:70:0,

                 from C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/Arduino.h:30,

                 from sketch\Firmware_BioSignals.ino.cpp:1:

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:128:5: note: HardwareSerial::HardwareSerial(usart_dev*, uint8, uint8)

     HardwareSerial(struct usart_dev *usart_device,

     ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:128:5: note:   candidate expects 3 arguments, 2 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note: constexpr HardwareSerial::HardwareSerial(const HardwareSerial&)

 class HardwareSerial : public Stream {

       ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note:   candidate expects 1 argument, 2 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note: constexpr HardwareSerial::HardwareSerial(HardwareSerial&&)

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\cores\maple/HardwareSerial.h:125:7: note:   candidate expects 1 argument, 2 provided

Firmware_BioSignals:51:59: error: no matching function for call to 'SPIClass::SPIClass(<anonymous enum>, <anonymous enum>, <anonymous enum>)'

 SPIClass SPI1_FE(PIN_SPI1_MOSI,PIN_SPI1_MISO,PIN_SPI1_SCLK);

                                                           ^

C:\Users\User\Desktop\biosignals-main\Firmware_BioSignals\Firmware_BioSignals.ino:51:59: note: candidates are:

In file included from C:\Users\User\Desktop\biosignals-main\Firmware_BioSignals\Firmware_BioSignals.ino:1:0:

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:176:5: note: SPIClass::SPIClass(uint32)

     SPIClass(uint32 spiPortNumber);

     ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:176:5: note:   candidate expects 1 argument, 3 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note: constexpr SPIClass::SPIClass(const SPIClass&)

 class SPIClass {

       ^

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note:   candidate expects 1 argument, 3 provided

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note: constexpr SPIClass::SPIClass(SPIClass&&)

C:\Users\User\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries\SPI\src/SPI.h:170:7: note:   candidate expects 1 argument, 3 provided

Multiple libraries were found for "SdFat.h"

 Used: C:\Users\User\Documents\Arduino\libraries\SdFat

 Not used: C:\Users\User\Documents\Arduino\libraries\SdFat_-_Adafruit_Fork

exit status 1

no matching function for call to 'SPIClass::SPIClass(<anonymous enum>, <anonymous enum>, <anonymous enum>)'



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

And what is your question?

SPIClass is in the error message
Spi class is part of arduino
Is it the function inputs that are the error?

For the benefit of the forum helpers, I'll add some potentially useful information that was present in one of @josheeg's other related topics (since resolved) but omitted from this one:

@josheeg I see you are using Roger Clark's "STM32F1xx/GD32F1xx boards" platform instead of the more popular and well maintained "STM32 MCU based boards" platform (AKA "STM32duino"). Do you have a specific reason for using the Roger Clark platform?

I ask because I see that the error does not occur if I compile the sketch for the equivalent board from the "STM32 MCU based boards" platform.

This message does not mean that Arduino does not have a SPIClass. It only means that the SPIClass does not have such a function with three pins as parameters.

In Roger Clark repo SPI uses a fixed set of SPI pins. Therefore the SPIClass init doesn't acccept a pins as parameters.