-
Thread
Spielereien mit asm_pio + MicroPython auf dem PI PICO
Habe auch schon einige interessante Dinge mit µPy gemacht, auf STM32F4 und PicoPi. Die sind auch schön mit ARM-Thumb innerhalb von Python zu programmieren. Damit ist dann problemlos 500ksps ADC, Kompression und Übertragung per VCP möglich. Zwei Kerne helfen. ;-) PIO
, dann streckt er aber die Flügel. Werde in den nächsten Tagen mal ADC mit DMA machen. Auf dem STM32F4 läuft das schon absolut problemlos (2.4Msps * 3 Kanäle interleaved). Was ich allerdings feststellen musste, die µPy 1.17 Version für PicoPi braucht noch reichlich Liebe und Zuwendung… Viel Spaß
-
Thread
Verfügbarkeit Ethernet Phy KSZ8081MNX (Micrel/Microchip MII)
Hallo Leute, wir haben eine Schaltung gemacht mit dem Micrel KSZ8081MNX und STM32F4. Alles schick. Leider ist dieser Chip aber nicht mehr bei den Distributoren lieferbar. Frühestens nächstes Jahr. Das betrifft auch die pinkompatible Alternative KSZ8091MNX. 1) Kennt ihr
-
Thread
Interrupt verhalten bei STM32F103
https://www.mikrocontroller.net/topic/488417?goto=new#new Beitrag "reziproker Frequenzzähler mit STM32F4Discovery" Dort wird mindesten STM32F4 verwendet. Ist nicht unbedingt mit F1 vergleichbar. Mein Problem ist genau andersherum: spardisch habe ich ein paar Overflows zu wenig. In der ISR frage
71? Periode 49999? Was soll das? Pieter schrieb im Beitrag #6809161: > Dort wird mindesten STM32F4 verwendet. Ist nicht unbedingt mit F1 > vergleichbar. Die Timer sind in den Grundfunktionen vergleichbar.
-
Thread
Cortex M3 Port Pin wird nicht auf 0 gesetzt
nicht gleichzeitig Bits > setzen und zurücksetzen kann. Doch, das geht durchaus - z.B. beim STM32F4 mit dem BSRR-Register.
-
Thread
STM32f429NIH6U FPU deaktivieren
Das ist mein aktueller Code zum Testen: [c] #include <stdio.h> #include <stdlib.h> #include "stm32f4xx.h" int main(void){ //Deaktivieren der Coprozessoren in C //FPU_CPACR->CPACR &= ~(1 << 22); //FPU_CPACR->CPACR &= ~(1 << 23); //Deaktivieren der Coprozessoren in Assembler /*_
-
Thread
CRC Einheit im STM32 -> CRC32 lässt sich nicht bestätigten
Byte4 |---- Wort 1 ----------|--------Wort 2---------| [/code] In Python nutze ich für die STM32F4 CRC folgenden Code: [code] import crcmod import crcmod.predefined crc_calc = crcmod.predefined.mkCrcFun('crc-32-mpeg') def stm32_calculate_crc(input_data): data = bytearray(input_data)
standardmäßig immer little endian? M. H. schrieb im Beitrag #6798763: > In Python nutze ich für die STM32F4 CRC folgenden Code: Ich habe jetzt von Python keine Ahnung, da später die PC Software von mir in Java geschrieben wird habe ich meine CRC32 Berechnungsfunktion mal in Java erstellt. In Java sind
-
Thread
ILI9486 8-Bit Parallel Bus deutlich langsamer als SPI
Vielleicht ein Blackpill(stm32f4) mit externem Flash, da kann man sogar Zeichensätze als Bilder zum Display schieben. Da Lob ich mir das Arduino Framework, das gleiche Projekt in einer Stunde auf esp32,atmega oder Stm32 umbauen und
gemacht, das schnellstmögliche mit Flash sieht man auf dem Video, also das Updates kaum auffallen. Ab stm32F4 hat man vielleicht noch Platz um sogar ein Hintergrundbild und Transparenz mit einzubringen, das muss ich aber noch selbst testen, auf einem esp32 flitzt das richtig Sorglos. Beispiel mit Flash-Spi
-
Thread
Threadsichere Bitmanipulation mit Bitbanding
warning_add(enum warning_e wrn) { WarnState_t *const State = &WarnState; #if defined( STM32F4XX ) /* Auf STM32 Bit threadsicher ueber Bitbanding-Region sichern Bitbanding: Abbildung des Speicherbereichs 0x20000000-0x200FFFFF auf den Bereich 0x22000000-0x23FFFFFF
/M4 billig. */ static_inline void warning_setTo(enum warning_e wrn, bool to) { #if defined( STM32F4XX ) /* Bitbanding-Region SRAM1 sicherstellen */ /* Die Assertion ist teuer und verhindert Optimierungen. Mit einem Schreiben ins struct anstelle der Adresse des structs kann auch
-
Thread
Norm für "schnelle" Funkmodule?
zu bespaßen geht? (kein USB etc.) SPI mit 50Mbps sollten an flotteren µC kein Problem sein. (STM32F4/168MHz) Grüße Runout
-
Thread
C Präprozessor: Zeichenketten vergleichen oder anderes enum-ähnliches Konstrukt?
buzzer_STM32F4XX_TIM4_PB7 #define ENCODER_HARD_AUX0 encoder_STM32F4XX_TIM5_PA0_PA1 #define ENCODER_HARD_AUX1 encoder_STM32F4XX_TIM2_PB8_PB9 #define ENCODER_HARD_AUX2 encoder_STM32F4XX_TIM3_PB4_PB5
SPI-Port (Hard-SPI mit DMA) */ //#define SPI_HARD_DMA spi_hard_none #define SPI_HARD_DMA spi_hard_STM32F4XX_SPI1_PA5_PA6_PA7 //#define SPI_HARD_DMA spi_hard_STM32F4XX_SPI2_PB13_PB14_PB15 //#define SPI_HARD_DMA spi_hard_STM32F4XX_SPI3_PC10_PC11_PC12 /* ... */ [/c] Wie man sieht, geht es bei den
-
Thread
ARM-GCC: No strict alias
break; case spi_hard_STM32F4XX_SPI2_PB13_PB14_PB15: SPIx = SPI2; DMA_StreamTx = DMA1_Stream4; DMA_StreamRx = DMA1_Stream3; DMA_FlagTcif_Tx = DMA_FLAG_TCIF4; DMA_FlagTcif_Rx = DMA_FLAG_TCIF3; break; case spi_hard_STM32F4XX_SPI3_PC10_PC11_PC12: SPIx = SPI3; DMA_StreamTx = DMA1_Stream5; DMA_StreamRx = DMA1_Stream2; DMA_FlagTcif_Tx = DMA_FLAG_TCIF5; DMA_FlagTcif_Rx = DMA_FLAG_TCIF2;
-
Thread
GNU ARM GCC ignoriert "signed" Variablen
Telemetrieeinheit für einen Stratosphärenballon zu integrieren. Jetzt habe ich den Code auf einen STM32F4 portiert und stehe vor einem kleinen Problem: Ich lese die Kalibrierdaten aus dem EEPROM mit I2C aus, unter denen sich auch einige negative Werte befinden. Z. B. hat die Variable "ac2" aus
-
Thread
ARM Cortex M4F: Arglos in die Unalign-Falle
src_mathlike\test_crc.o -MMD -I.<sehr viele eigene Include-Verzeichnisse> -I.\src_3rd_party\src_stm32f4xx -I.\src_3rd_party\src_u8g2_fonts -I.\src_3rd_party\src_unittests_unity -I"C:\Program Files (x86)\EmBitz\1.11\share\em_armgcc\bin\..\arm-none-eabi\include" -I"C:\Program Files (x86
-
Thread
ARM-Assembler: Takte zählen
cortex-m3 .thumb #include "hw_config.h" #include "io_pins.h" .include "../../src_library/src_asm/stm32f4xx.inc" .include "../../src_library/src_asm/stm32f4xx_gpio.inc" .include "../../src_library/src_asm/stm32f4xx_tim.inc" @ Zyklenzaehler fuer Profiling DWT_CYCCNT = 0xE0001004 .align 4 .bss
-
Thread
Anfang mit STM32. Wie habt ihr es gemacht?
jede Menge Beispiele, und es gibt die >> Application-Notes. > > Meinst du das "Description of STM32F4 HAL and low-layer drivers" > Dokument? Mit so knapp 2100 Seiten? Jain. Cube MX hat ja für dich bereits die erforderlichen HAL-Sourcen für *deine* MCU heruntergeladen, und in dem Source-Tree auf
empfehle ist dieses Dokument: https://www.st.com/resource/en/user_manual/dm00105879-description-of-stm32f4-hal-and-ll-drivers-stmicroelectronics.pdf Ja, das ist sehr groß, aber das ist wichtig zum Nachschlagen, und nicht um das linear zu lesen.
-
Thread
Effizientes Zero-Stuffing in C
> Geschwätz. Du bist ja ganz schlau. Hängt natürlich von der Definition von langsam ab. Bei STM32F4 sind bspw. die GPIO Zellen am hochgetakteten AHB Bus angehängt. Da ist ein Zugriff schon recht schnell. Trotzdem kann ein Pin Toggeln durch [c] GPIO->ODR ^= (1<<x); [/c] dehr lange dauern im
-
Thread
günstiges Oszilloskop gefunden
nicht allzuviel erwarten. Nette Lötübung und Beschäftigung für zwischendurch. Als Oszi ist das STM32F4 auf dem Demoboard von ST wesentlich besser (glaub, der das geschrieben hat ist auch hier im Forum). Nur halt 0..3V, ohne Analogteil. https://mikrocontroller.bplaced.net/wordpress/?page_id=752
-
Thread
NUCLEO STM32F767ZI: ich bekomme den OTG_FS_IRQHandler() nicht zum Laufen
Anhand von http://evenlund.blogspot.com/2016/10/usb-storage-with-stm32f4-discovery-and_58.html und https://www.youtube.com/watch?v=uIOb5sSFyUY habe ich versucht, dass USB OTG FS (Host) zum Laufen zu bekommen. Aber es kommen keine Aufrufe von OTG_FS_IRQHandler(). Die scheinen
sein? Ich habe entsprechend der Anleitung http://evenlund.blogspot.com/2016/10/usb-storage-with-stm32f4-discovery-and_58.html im "Project Manager" gesetzt: [c] Minimum Heap Size = 0x400 Minimum Stack Size = 0x800 [/c] Aber ich verwende FreeRTOS. Da muss ich vielleicht dafür auch noch mal den
-
Artikel
Sensorlose BLDC Ansteuerung
und die anderen drei Werte nur jede 5KHz/3. Bei einer nächsten Version würde ich wohl auf einen STM32F4 zurück greifen. Dessen ADC(s) sind viel schneller und auch komfortabler zu bediehnen. Der ADC des AVR wird von einem Timer automatisch gestartet (10KHz), welcher aber kurz vor Beginn des nächsten
schaltet bei hohen Drehzahlen in den Komparatormodus Anderer µC mit schnellerem ADC verweden z.B. STM32F4 - Derivat Lösung mit einem schnelleren Controller. Der Controller wurde durch einen STM32F050K6 ersetzt. Dieser sampelt nun im Center-Aligned PWM Mode in der Pulsmittte alle Werte und schaufelt diese
-
Thread
Assembler Frage ( 2mal hintereinander dieselbe Instruktion )
Das ist ein arm compiler für einen STM32F4. Und jetzt habe ich mir auch den Hexcode angeguckt und der sieht so aus: 2800 cmp r0,#0 2800 cmp r0,#0 und der wird auch ausgeführt, ich hab da reingebreakt.
-
Thread
Blaue Pillenkrise? Die Häfte sind kaputt!
I2C ist sehr > anders. Komisch, meine I2C-Routinen laufen sowohl auf STM32F103 als auch auf STM32F4xx einwandfrei - lediglich eine Handvoll von Code-Zeilen sind verschieden. Das erledigt dann der Preprocessor. Wenn Du Problem mit I2C auf STM32F4xx Probleme hast, sind Deine I2C-Routinen einfach Murks
im Beitrag #6719304: > Komisch, meine I2C-Routinen laufen sowohl auf STM32F103 als auch auf > STM32F4xx einwandfrei - lediglich eine Handvoll von Code-Zeilen sind > verschieden Besser hätte man nicht belegen können, dass die I2C Routinen eines 103 auf dem 4xx nicht funktionieren.
-
Thread
Multimeter mit ARM STM32F405 "hacken"?
ein Leseversuch den Flash löschen. > Ist es das Wert? Nö. Ein reiner Leseversuch löscht einen STM32F4xx nicht.
-
Thread
STM32 ADC mit DMA für mehrere Kanäle
Hallo xnager, bei dem Stm32f4 hatte ich das gleiche Problem. Wenn man den DMA nicht im Circular Mode betreibt, muss man den DMA nach jedem auslesen komplett neu initialisieren. Der DMA muss im Circular Mode laufen. Dann musst
-
Thread
Standalone-RP2040 kostet einen Euro, Fotos vom WFI32
Kanäle und maximal 500 kHz Sample-rate ist auch nicht gerade beeindruckend, die Konkurrenz (z.B. STM32F4) schafft da deutlich mehr. Gibt natürlich auch einige positive Seiten, ein Dual-Core Prozessor gibt es sonst nur in einer deutlich höheren Preisklasse. Das PIO könnte auch durchaus sehr nützlich
-
Thread
STM32L052x8 USB mit Bare Metal Code funktioniert nicht. SET_ADDRESS fehlerhaft
Stefan und mir Genauso wird das gemacht. Der Interrupt kommt auch. Aber es klappt nicht. Beim STM32F4 ist da genau die Konstellation, die bei mir nicht geklappt hat. Da muss ich die Adresse direkt ändern, nachdem ich das ZLP konfiguriert habe. Wenn ich die Adresse erst ändere, wenn das ZLP raus ist
verstehe ich das alles ja auch nicht. Es sieht ganz richtig aus. Um nochmal auszuholen: Beim STM32F4 sagt ST: > Endpoint initialization on SetAddress command > This section describes what the application must do when it receives a SetAddress command in a SETUP packet. > 1.Program the OTG_FS_DCFG
-
Thread
STM32F446RE - Timer 4 PB7 geht nicht
Beitrag wird er zu sehr auseinandergezogen. Hat das globale Define BUZZER_PWM den Wert buzzer_STM32F4XX_TIM3_PB5, bekomme ich ein schönes Rechtecksignal an PB5. Hat es dagegen den Wert buzzer_STM32F4XX_TIM4_PB7, ist nichts an PB7 vorhanden. TIM3 und TIM4 sind beide an APB1 und beide an GPIOB. Bei
gefunden, verstehe sie aber nicht. In Headern ist definiert: [c] #define BUZZER_PWM buzzer_STM32F4XX_TIM4_PB7 /** Summer: Auswahl Ports und Pins */ enum buzzertype_e { buzzer_STM32F4XX_TIM3_PB5, buzzer_STM32F4XX_TIM4_PB7, }; [/c] (In welcher Reihenfolge
-
Thread
Schutzschaltung mit Dioden, wohin mit dem Strom bei Überspannung?
nochmals vielen Dank für die schnellen und hilfreichen Antworten. Der Mikrocontroller wird ein STM32F4 werden. Die Geschwindigkeiten werden zum einen sehr langsam sein, da das Gerät von mir von außen über Taster gesteuert wird und zum Anderen wird auch ein SPI-Bus dabei sein, den ich mit 1 Mhz betreiben
-
Thread
Error! Failed to read target status
--------------- ST-LINK SN : 066CFF485153826687123124 ST-LINK FW : V2J37M27 Board : STM32F4DISCOVERY Voltage : 2.90V SWD freq : 4000 KHz Connect mode: Under Reset Reset mode : Hardware reset Device ID : 0x413 Revision ID : Rev 2.0 Device name : STM32F405xx/F407xx/F415xx/
--------------- ST-LINK SN : 066CFF485153826687123124 ST-LINK FW : V2J37M27 Board : STM32F4DISCOVERY Voltage : 2.90V SWD freq : 4000 KHz Connect mode: Under Reset Reset mode : Hardware reset Device ID : 0x413 Revision ID : Rev 2.0 Device name : STM32F405xx/F407xx/F415xx/
-
Artikel
MINOS
Operating System MINOS ist eine sehr einfache, trotzdem aber auch komfortable Firmware, welche auf einem STM32F4xx läuft - vorzugsweise dem STM32F407VET6 Black Board, welches für einen einstelligen Euro-Betrag zu haben ist. = MINOS = MINOS unterstützt dabei ein Dateisystem auf einer eingesetzten SD-Karte und
() Beispiel: ---- WS2812. Den Dateneingang DI von WS2812-Stripes schließt man an den verwendeten STM32F4xx an den Pin PA8 an. Da die WS2812-LEDs einen Pegel erwarten, der von 3,3V-µCs wie dem STM32 gerade eben so erfüllt werden, ist es ratsam, zusätzlich noch einen 1K Pullup-Widerstand zwischen DI und
-
Thread
komplexes Problem mit Grafik und Dateisystem auf Disco-F746NG
FMC or Quad SPI, and internal Flash memory." Laut ReferenceManual (RM0385 Rev 8, Seite 64) des STM32F4 ist das DTCM und ITCM nicht durch den DMA1 und DMA2 regulär zugreifbar. Was die gestrichelte Linie die mit "AHBS" gekennzeichnet ist und eine Verbindung zum DTCM haben soll bedeutet, weiß ich noch
-
Thread
STM32F4 Delay mit Timer
Hallo, momentan versuche ich mit dem STM32F4 einen Delay (ms) mit Hilfe eines Timers zu realisieren. Der Takt am APB1 beträgt 50MHz. Mit einem Prescaler von 49999 ergibt sich eine Zählfrequenz von 1kHz. Hier der Code soweit: [c] void initDelay
-
Thread
STM32F401 Embitz1.1 Toolchain gesucht
" //#include "stm32f4xx_fsmc.h" //#include "stm32f4xx_hash.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_i2c.h" #include "stm32f4xx_iwdg.h" #include "stm32f4xx_pwr.h" #include "stm32f4xx_rcc.h" //#include "stm32f4xx_rng.h" #include "stm32f4xx_rtc.h" #include "stm32f4xx_sdio.h" #include "stm32f4xx_spi.h" #include "stm32f4xx_syscfg.h" #include "stm32f4xx_tim.h" #include "stm32f4xx_usart.h" #include "stm32f4xx_wwdg.h
-
Thread
[S] STM32F4DIS-BB und STM32F4DIS-LCD
Hallo Leute, hat jemand noch diese 2 Boards zu verkaufen? STM32F407 LCD und BaseBoard (BB).
-
Thread
[STM32] Discovery board USART1 Problem Zeichen doppelt und corrupted
ääähhhh klicken was man will. Wer es lieber ohne CubeMX mag der wird hier fündig: https://stm32f4-discovery.net/ https://mikrocontroller.bplaced.net/wordpress/
-
Thread
STM32 - UART DMA - keine Funktion nach Reset von Gegenstelle
den Usart DMA mit LL Treiber initialisiert und mich durch dieses Tutorial gehangelt. https://stm32f4-discovery.net/2017/07/stm32-tutorial-efficiently-receive-uart-data-using-dma/ Der DMA läuft im Circular mode und schreibt den Buffer immer wieder erneut voll. In der Funktion usart_rx_check schaut
-
Artikel
ARM Cortex Mikrocontroller
Wonder Gecko von Silicon Labs, siehe EFM32 hier im Wiki STM32F3 von STMicro, siehe STM32 hier im Wiki STM32F4 von STMicro, siehe STM32 hier im Wiki Tiva C Series, TM4C von Texas Instruments. Früher nannte Texas Instruments diese Controller Stellaris LM4F Series. 2013 begann TI mit einer große Umbenennung,
-
Thread
STM32 DMA Data Packing
Hallo Ich hätte mal eine Frage zu "Data packing/unpacking" eines STM32F4(69)... Ein IC mit dem ich per SPI-DMA kommuniziere arbeitet mit 32bit Registern. Ich muss also ständig meine TX/RX Daten von einem uint32_t in zwei uint16_t umwandeln wenn ich was sende oder empfange
-
Thread
STM32F4 Timer Burst bei Trigger
Guten Morgen, ich arbeite mit einem STM32F411RE und möchte ein 40kHz Signal auf einen GPIO ausgang geben. Hierfür habe ich einen Timer auf diese Frequenz konfiguriert. Bis jetzt habe ich in der Pulsefinished callback Funktion einen GPIO getriggert. Jetzt möchte ich aber zusätzlich ein Startsignal nutzen um diesen 40kHz burst zu senden und nicht kontinuierlich wie bis jetzt. Ich bin mir nicht sicher wie genau ich das umsetzen soll. Kann ich vielleicht einfach in einer Funktion die nach dem Start Trigger Signal aufgerufen wird, den Ausgang toggeln? [c] void PM(void) { GPIOA->BSRR
-
Thread
STM32F4 Ausführungszeit
Bit-Bang kann durch Interrupts unterbrochen werden. Ausserdem hat das STM32F4 Flash Latenzen, die man durch Caches (ART accelerator) zu verstecken versucht. Falls etwas nicht frisch aus dem Flash geladen werden muss, geht es halt schneller. Dazu kommt noch die Auslastung der
Über ein Timer kannst dann eine PWM erzeugen die den Transistor schaltet - ganz ohne CPU Zeit - der STM32F4 sollte sowas wohl haben.
-
Thread
STM32F4 MidiDevice
Das geht- es gibt dort auch komplette modulare Lösungen. http://www.ucapps.de/mbhp_core_stm32f4.html
-
Thread
STM32F103 Bluepill mit 128kb lässt sich nicht flashen
Wait-States (wichtig!) werden darüber automatisch ermittelt. Siehe auch Kommentare in system_stm32f4xx.c
Johannes S. schrieb im Beitrag #6666843: > die stm32f4xx_rcc.c ist allgemeiner Code, die system_stm32f4xx.c enthält > die spezifischen Einstellungen, und die von Frank sieht gut aus. Die ist > auch von HAL/SPL unabhängig weil das noch in CMSIS definiert
-
Thread
Birulki: Sensoren, Speicher und Funkmodule
Beispiel nie auf die i.MX RT Serie gestoßen wenn ich nicht zufällig über den Teensy 4 gestolpert wäre, STM32F4/F7/H7 dürften dagegen aber die meisten kennen.
nie auf die i.MX RT Serie gestoßen wenn ich nicht >> zufällig über den Teensy 4 gestolpert wäre, STM32F4/F7/H7 dürften >> dagegen aber die meisten kennen. > > > Richtig, sehe ich genauso. > Hackaday macht es schön vor, wenn z.B. ein neuer ESP32 mit RISC-V > rauskommt: > https://hackaday.com