Komplette-Library-Liste (STM32F4)

Hier findet sich eine Liste mit allen Librarys die für den STM32F4 online sind. Einfach auf den Link klicken um eine nähere Beschreibung und das entsprechende ZIP-File zu finden.

Die einzelnen source files (ohne Beispiel) findet ihr auch in meiner Dropbox :

Link : DropBox_F407

Die ZIP-Files beinhalten den Source-Code (in C), ein Beispiel-Programm (in C) wie die Library angewendet wird, und (falls es das Beispiel notwendig macht) noch zusätzliche Librarys von hier.

Liste :

01 = LED (für die 4 LEDs auf dem STM32F4-Discovery-Board)
02 = Button (für den User-Button auf dem STM32F4-Discovery-Board)
03 = Dig-Out (um Digitale Ausgangspins mit der CPU zu steuern)
04 = Dig-In (um Digitale Eingangspins mit der CPU auszuwerten)
05 = ADC-Single (um den ADC im Single-Conversation-Mode zu benutzen)
06 = LCD_ST7783 (um ein Grafik-Display mit dem ST7783 Chip anzusteuern)
07 = LCD_Graphic (Grafikfunktionen für das LC-Display, Bilder aus dem Flash)
08 = LCD_Font (um Schrift auf dem LC-Display darzustellen)
09 = Touch_ADS7843 (um einen Touch mit dem ADS7843-Chip auszuwerten)
10 = Systick (für Pausenzeiten, Software-Timer und Software-Counter)
11 = RNG (um Zufallszahlen zu erzeugen)
12 = UART (zum benutzen der 6 UARTs der CPU)
13 = FATFS-SDIO (zum benutzen von SD-Karten mit FAT-Dateisystem)
14 = ADC_DMA (um die AD-Wandler per DMA zu verwalten)
15 = SPI-LoLevel (zum benutzen der 3 SPI-Schnittstellen)
16 = SPI-MAX5250 (um ein 4fach DAC MAX5250 anzusteuern)
17 = SPI-LIS302DL (für den 3Achs-Beschleunigungs-Sensor auf dem Discovery)
18 = I2C-LoLevel (zum benutzen der 3 I2C-Schnittstellen)
19 = I2C_M24C02 (für ein 256Byte EEprom M24C02/PCF8582 anzusteuern)
20 = FATFS_Picture (BMP-Files, JPG-Files und Images von SD-Karte anzeigen)
21 = ADC_Injected-Group (zum betreiben der AD-Wandler im Injected-Group-Mode)
22 = SysCheck (System-Clock-Test und Assert-Fehler Auswertung)
23 = DAC (zum benutzen der beiden DA-Wandler der CPU)
24 = DAC_DMA (zum ausgeben von Kurvenformen per DA-Wandler der CPU)
25 = PWM (zum ausgeben von PWM-Signalen per Timer)
26 = Logview (um eine Grafische Datenanzeige mit dem PC zu machen)
27 = DCMI_OV9655 (um Bilder von einem Camera-Modul anzuzeigen)
28 = EXT_Interrupt (um die externen Interrupts zu benutzen)
29 = PS2_Keyboard (um eine PS2-Tastatur auszuwerten)
30 = PS2_Mouse (um eine PS2-Maus auszuwerten)
31 = USB_CDC (zum Betrieb der USB-OTG-Buchse im CDC-Mode)
32 = USB_MSC_HOST (zum anschließen von USB-Sticks an die CPU)
33 = LCD_SSD1289 (um ein Grafik-Display mit dem SSD1289 Chip anzusteuern)
34 = LCD_2x16 (um ein Text-LC-Display anzusteuern)
35 = VGA_Screen (um einen VGA-Monitor anzusteuern 320×240, 8bit Farbe)
36 = VGA_Graphic (Grafikfunktionen für den VGA-Screen, Bilder aus dem Flash)
37 = VGA_Font (um Schrift auf dem VGA-Monitor darzustellen)
38 = PWM_DMA (um 8 bzw. 16 PWM-Kanäle auszugeben)
39 = IRMP (zum Auswerten von IR-Signalen per IRMP-Lib)
40 = HTTP_Server (Webserver mit externem PHY : DP83848C)
41 = RTC (zum benutzen der internen RealTimeClock der CPU)
42 = IWDG (zum benutzen des internen Watchdog der CPU)
43 = LCD_EADOG (für Grafik-Display der EA-DOG-Serie)
44 = UDP_Server (UDP-Server mit externem PHY : DP83848C)
45 = CS43L22 (WAV-Files per Audio-DAC vom Discovery-Modul)
46 = IRSND (zum senden von IR-Daten per IRSND-LIB)
47 = MP45DT02 (für den Audio Sensor auf dem Discovery-Modul)
48 = USB_HID (zum Betrieb der CPU als USB-HID-Device)
49 = FRQ_IN (zum messen von Frequenzen per Timer)
50 = SRAM (für ein externes SRAM am Discovery-Modul)
51 = PWM_IN (zum messen von PWM-Signalen per Timer)
52 = Encoder (zum auswerten eines Drehgebers per Timer)
53 = CS43L22_MP3 (MP3-Files per Audio-DAC vom Discovery-Modul)
54 = CS32L22_MP3_USB (MP3-Files vom USB-Stick abspielen)
55 = Timer (Timer-Funktionen der CPU)
56 = USB_HID_HOST (zum betreiben von USB-Maus/Tastatur an der CPU)
57 = EE_Flash (virtuelles EEprom per Flash der CPU)
58 = Backup-RAM (zum Betrieb des internen 4kByte Backup-RAM)
59 = CAN-LoLevel (zum benutzen der 2 CAN-Schnittstellen)
60 = CAN_MCP25050 (8Kanal CAN IO-Expander)
61 = LCD-Nokia5110 (für Graphic-Display Nokia-5110)
62 = OneWire-LoLevel (zum benutzen eines OneWire-Bus)
63 = OneWire-DS18XX (zum auslesen von OneWire Temperatur Sensoren)
64 = I2C_Slave (zum benutzen des STM32F4 als I2C-Slave)
65 = SPI-LoLevel-HalfDuplex (SPI im Half-Duplex Betrieb)
66 = SPI_HD_TM1638 (für IO-Platine mit TM1638-Chip)
67 = LCD_ILI9341_SPI (für Grafik-Dispaly mit ILI9341-Chip per SPI)
68 = RN42 (zum benutzen eines Bluetooth-Moduls als UART)
69 = L298-Stepper (zum ansteuern eines Schrittmotors per L298)
70 = STemWin ( für eine Windows ähnliche GUI per Touch)
71 = AM2301 (Temperatur und Luftfeuchtesensor vom Aosong)
72 = HC_SR04 (Ultraschall-Abstands-Sensor)
73 = FreeRTOS (Echtzeit Betriebssystem)
74 = SPI_Slave (zum benutzen des STM32F4 als SPI-Slave)
75 = String (zum umwandeln von Zahlen in Strings und umgekehrt)
76 = LCD-Nokia-N95-8GB (für ein Grafik-Display mit LDS285-Chip)
77 = UART_DMA (zum benutzen einer UART im DMA-Mode)
78 = WS2812 (zum Betrieb von RGB-LEDs mit WS2812-Chip)
79 = ScopeScreen (zum benutzen eines Oszis als Bildschirm)
80 = LIN-Master (zum benutzen des STM32F4 als LIN-Master)
81 = LIN-Slave (zum benutzen des STM32F4 als LIN-Slave)
82 = OLED-SSD1331 (für ein OLED-Graphic-Display mit SSD1331-Chip)
83 = KeyMatrix (zum anschließen einer Tastatur-Matrix an die CPU)
84 = SPI-LIS3DSH (für den 3Achs-Beschleunigungs-Sensor auf dem Discovery)
85 = Modplayer (zum abspielen von Modul-Files “.MOD” oder “.S3M”)
86 = DigIn-DMA (zum einlesen von Digital-Pins per DMA)
87 = Dual_FATFS (zum gleichzeitigen benutzen von SD-Karte und USB-Stick)
88 = WS2812_8CH (zum Betrieb von bis zu 8 LED-Ketten mit WS2812-Chip)
89 = FATFS-SPI (zum benutzen von SD-Karten mit FAT-Dateisystem per SPI)
90 = I2C_GY-271 (3Achs Kompass-Modul mit HMC5883-Chip per I2C)
91 = SPI_DMA (zum betreiben der SPI-Schnittstelle per DMA)
92 = ID-Check (zum auslesen der unique-ID der CPU)
93 = OTP (zum nutzen der One-Time-Programmable-Bytes der CPU)
94 = SGUI (simple-GUI für den STM32F407 mit ST7783)
95 = uBasic (minimal Version vom uBasic für den STM32F4)
96 = DCF77 (zum anschließen eines DCF77-Moduls an die CPU)
97 = ILI9325 (um ein Grafik-Display mit dem ILI9325 Chip anzusteuern)

 

43 Antworten auf Komplette-Library-Liste (STM32F4)

  1. Rabbit sagt:

    Hi

    vielen Dank für deine Lib.

    Gibt es auch ein Zip indem alle Files der aaktuellen Libs vorhanden sind?

    Cheers
    Rabbit

  2. Rabbit sagt:

    Thanks

  3. MC sagt:

    Deine Lib ist wirklich klasse! Vielen Dank dafür.
    Hast Du zufällig schon einmal die RTC in Betrieb genommen?

    • admin_ub sagt:

      Gerne.
      Nein, für RTC hab ich noch nichts gemacht. Aber meine ToDo ist jetzt eh fast leer, ich setze es mal drauf. Muss mir aber noch einen Quarz besorgen (der ist glaube ich beim Discovery nicht bestückt). Und wie das mit der Batterie-Funktioniert muss ich auch erst mal nachlesen. Sag bescheid wenn du was bestimmtest damit machen willst, damit ich das event. berückstichtigen kann.

      • MC sagt:

        Die Ansprüche sind, glaube ich, eher gering:
        1s-Interrupt, Setzen von Zeit/Datum, Auslesen von Zeit/Datum, Backup-Funktionalität.

        Vielen Dank für Deine Mühen!

        • admin_ub sagt:

          So, die LIB ist fertig. Die Alarm-Funktion habe ich jetzt mal nicht mit reingenommen. Probier mal ob du damit zurechtkommst.

          • MC sagt:

            …das ging ja schnell!!!

            Zur Zeit läuft meine Uhr mit Deiner LIB leider um etwa Faktor 6 zu schnell. Ich komme im Moment leider noch nicht dahinter, an welcher Konfiguration ich Veränderungen vornehmen muß, damit es mit meinem Board zusammenpaßt. Ich verwende das Xynergy-Board von Silica mit einem STM32F217 und dem externen 32.786kHz Quartz. So sehen die Einstellungen der “system_stm32f2xxx.c” aus:
            *——————————————————
            * System Clock source | PLL (HSE)
            *——————————————————
            * SYSCLK(Hz) | 120000000
            *——————————————————
            * HCLK(Hz) | 120000000
            *——————————————————
            * AHB Prescaler | 1
            *——————————————————
            * APB1 Prescaler | 4
            *——————————————————
            * APB2 Prescaler | 2
            *——————————————————
            * HSE Frequency(Hz) | 25000000
            *——————————————————
            * PLL_M | 25
            *——————————————————
            * PLL_N | 240
            *——————————————————
            * PLL_P | 2
            *——————————————————
            * PLL_Q | 5
            *——————————————————

          • admin_ub sagt:

            die Clock Einstellungen müssten egal sein, du hast ja den 32kHz Quarz drann,
            im Code gibt es die zwei Vorteiler “RTC_AsynchPrediv” und “RTC_SynchPrediv” der eine steht auf 128 der andere auf 256 damit ergibt sich 1Hz für den RTC.
            Vlt muss der F2 hier anders behandelt werden als der F4…da kenn ich mich leider nicht aus.

  4. MC sagt:

    …die Vorteiler habe ich auch schon überprüft. Eigentlich sollte so alles richtig laufen. Ich habe den Verdacht, daß es ein Hardware-Problem ist. Die Kondensatoren sind meiner Meinung nach mit 10pF zu hoch ausgelegt. Ich gehe da am Montag mal mit ‘nem Oszi dran.

    Vielen Dank erst einmal für Deine LIB! Die hat mir in jedem Fall sehr weitergeholfen.

  5. Quentin sagt:

    Hallo,

    danke schön für dein lib.

    Du hast ein lib für DCMI mit ov9655 gemacht. Ist es möglich die DCMI interface zu benutzen mit die STM32F4 discovery Karte?

    Es sieht nicht möglich aus weil Speicher ist angeschlossen aus die Pin mit DCMI.

    Ist es möglich dieses Pin zutauschen?

    Danke für alles. Schönes Tag.

  6. Samuel sagt:

    Hi Uwe,
    ich finde deine Librarys echt spitze, sauber übersichtlich programmiert und gut kommentiert.
    Hab schon einige am laufen (USB_CDC , Can, ADC, Uart, ExtiI … )

    Vielen Dank für deine tolle Arbeit

  7. Jones sagt:

    Ich möchte mich für deine Bemühungen bedanken. Ich finde es großartig, dass du uns deine Libs zur verfügung stellst. Selbst wenn ich sie nicht immer direkt verwende, helfen sie doch ungemein bei manchen Verständnisproblemen.

    Vielen Dank

  8. Tamer SAFAK sagt:

    Hello,

    Great job,
    Could you give an example about sdcard via spi?

    Regards,

  9. Tamer SAFAK sagt:

    Hello, thank you again for “spi-fat lib”.

    RFID and enc28j60 libraries will be very good though.

    Happy new year,

  10. Hallo Uwe,

    Ich hab dir eine E-mail geschrieben und die Befürchtung sie könnte vielleicht im Spamordner gelandet sein. Wäre super wenn du mal nachschauen könntest.

    Liebe Grüße

    Frederik Löw

  11. Kris sagt:

    Moin, erstmal großes Lob für die vielen Libs, benutze einige davon in eigenen Projekten. Hilft auch gut beim Verständnis neuer Hardware.
    Ich wollte mal fragen, ob du zufällig schon Erfahrungen mit UMTS/GPS-Modulen hast, da ich momentan in der Richtung recherchiere. Ich tendiere momentan zu einem R-GM862-G4, hast du da eine Meinung zu?

    Schönen Gruß,
    Kris

  12. Subi jo sagt:

    Hello,

    This examples are very good. I have learnt a lots from them. Thanks… But I would like to ask that can I use the PS2 example program for STM32F0xx_DISCOVERY board.

    Best Regards,

    Subi Jo

  13. Subi jo sagt:

    Hello,
    Thank so much for your quick answer. I tryed to translate your ps2 program to stm32f0xx-DISCOVERY board but I loged. I got the the mistake “Error[Pe020]: identifier “RCC_AHB1Periph_GPIOA” is undefined to be connected with to enable clock with “RCC_AHB1PeriphClockCmd(PS2_KEY_DATA_GPIO_CLK, ENABLE);” command. I am very bushed. Please help me if it is possible. I welcome any advice with pleasure.

    Best regards,

    Subi Jo

    • admin_ub sagt:

      you must include the GPIO and RCC header files for a F0 cpu
      these are different to my F4 includes.
      Then check the “xx_gpio.h” and “xx_rcc.h” files for the right
      defines und function names.
      Or copy&paste the lines from a st example for the F0.
      here is a link to a F0 GPIO tutorial :
      http://hsel.co.uk/2014/05/31/stm32f0-tutorial-1-gpio/
      change : “RCC_AHB1Periph_GPIOA” to : “RCC_AHBPeriph_GPIOA”
      change : “RCC_AHB1PeriphClockCmd” to : “RCC_AHBPeriphClockCmd”
      and so on

  14. Subi Jo sagt:

    Hello,
    Sorry for my late answer. Thank you for your advice. I will try it after I will write to you.
    Best regards,
    Subi Jo

  15. Syed sagt:

    Hi,

    Is there any implementation of LWIP? Can you please send me the link for that.

    Regards,
    Syed

  16. kabasak sagt:

    Hi
    How do I run stm32f051 + stm32f030
    5 days I could not help please
    change
    #include “stm32f0xx.h”
    #include “stm32f0xx_gpio.h”
    #include “stm32f0xx_rcc.h”
    #include “stm32f0xx_spi.h”
    #include “stm32_ub_spi2.h”
    RCC_AHB1PeriphClockCmd(LCD_WRX_GPIO_CLK, ENABLE);
    RCC_AHBPeriphClockCmd(LCD_WRX_GPIO_CLK, ENABLE);
    RCC_AHBPeriphClockCmd(LCD_CS_GPIO_CLK, ENABLE);
    #define LCD_WRX_GPIO_CLK RCC_AHBPeriph_GPIOB
    LCD_CS_GPIO_PORT->BSRR = LCD_CS_PIN;
    LCD_CS_GPIO_PORT->BRR = LCD_CS_PIN;
    LCD_WRX_GPIO_PORT->BSRR = LCD_WRX_PIN;
    LCD_WRX_GPIO_PORT->BRR = LCD_WRX_PIN;
    {GPIOB,GPIO_Pin_13,RCC_AHBPeriph_GPIOB,GPIO_PinSource13}, // SCK
    RCC_AHBPeriphClockCmd(SPI2DEV.SCK.CLK, ENABLE);
    GPIO_PinAFConfig(SPI2DEV.SCK.PORT, SPI2DEV.SCK.SOURCE, GPIO_AF_0);
    SPI_I2S_SendData16(SPI2, wert);

    I made the changes did not work
    please help me
    STM32F051R8 disco spi ili9341
    Thank you.

  17. tyros sagt:

    Danke fuer die super LIB’s.
    Bin Neueinsteiger bei den ARM’s.
    Bitte weiter so!!!!

  18. Christophe sagt:

    Hallo Uwe,

    Sind deine Bibliotheken grundsätzlich auf dem stm32f415 lauffähig?

    Ich habe nämlich im ‘RM0090 Reference manual’ gelesen, dass es doch grundsätzliche Unterschiede zwischen den 405/415 und 429/429 gibt.
    Die UART Bibliothek zB funktioniert bei mir nicht auf Anhieb, sprich es werden Daten ausgegeben, die jedoch im seriellen Monitor keinen Sinn machen.

    Könnte das eventuell an unterschiedlichen Timern liegen?

    Viele Grüße,
    Christophe

  19. Andrey sagt:

    Ich bin sehr froh, dass Ihre Website wieder erschienen!!!! Danke !

  20. Alfi sagt:

    Tolle Arbeit!
    Es gibt von NXP einen neuen PHY (BroadR-Reach) für Automotive Ethernet. Glauben Sie, dass man es mit dem STM32 zum laufen kriegen kann? Im Bereich Ethernet bin ich noch ein Anfänger.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


neun − sieben =

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>