Hallo Leute,
ich wollte gerade mein Projekt für den STM32F407ZG von der
DSP_StdPeriph_Lib_V1.0.1 auf die DSP_StdPeriph_Lib_V1.1.0 umstellen.
Habe alle benötigten Files in meinem Projekt ausgetauscht (MDK ARM),
bekomme nun aber einige Error beim Compilieren.
1 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(347): error: #136: struct "<unnamed>" has no field "FLTR"
|
2 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(347): error: #20: identifier "I2C_FLTR_ANOFF" is undefined
|
3 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(352): error: #136: struct "<unnamed>" has no field "FLTR"
|
4 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(352): error: #20: identifier "I2C_FLTR_ANOFF" is undefined
|
5 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(374): error: #136: struct "<unnamed>" has no field "FLTR"
|
6 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(377): error: #20: identifier "I2C_FLTR_DNF" is undefined
|
7 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c(383): error: #136: struct "<unnamed>" has no field "FLTR"
|
8 | compiling stm32f4xx_rcc.c...
|
9 | compiling stm32f4xx_spi.c...
|
10 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_spi.c(250): error: #20: identifier "SPI4" is undefined
|
11 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_spi.c(257): error: #20: identifier "SPI5" is undefined
|
12 | C:\appl\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_spi.c(266): error: #20: identifier "SPI6" is undefined
|
Habe nun herausgefunden das die Fehler bei Funktionen für die neuen F42x
und F43x auftritt.
Verwende nun statt STM32F4XX den Eintrag STM32F40XX bei den Preprocessor
Defines da ich dies bei der Erklärung in der neuen stm32f4xx.h gefunden
habe.
1 | #if !defined (STM32F4XX) && !defined (STM32F40XX) && !defined (STM32F427X)
|
2 | /* #define STM32F40XX */ /*!< STM32F40xx/41xx Devices */
|
3 | /* #define STM32F427X */ /*!< STM32F427x/437x Devices*/
|
4 | #endif
|
Hat aber leider nichts gebracht.
Bekommt ihr diese Fehler auch wenn ihr einen F40x mit ST Lib V1.1.0
verwendet (zB mit dem Discovery F4 etwas programmiert) oder habt ihr die
entsprechenden Einträge aus der ST Lib auskommentiert?
Falls mir jemand helfen könnte wäre ich sehr dankbar!