-
Thread
PIC10F202/etc: Programmierung unter Linux(Ubuntu)
im Beitrag #7325661: > wuerde ich mir selbst nicht > antun Die PIC10 haben Begrenzungen. Ein STM32F4 hat auch Begrenzungen. Brauche ich viele IOs, Speicher etc. pp. nehme ich keinen PIC10. Brauche ich ein wenig glue Logic ist der PIC10 super. Ich habe die schon als NE555 eingesetzt, PWM Timer
wird in 2 von 3 GPIO eine 1 geschrieben. > Es wird ein wenig gewartet. > In 2 von 3 GPIO eine 0 geschrieben > NEIN: > Gehe zu Start Hm... wird der Status auch mal gelöscht? Läuft hier eine Endlosschleife? Man kann auch den µC schlafen legen und bei einem GPIO Change (Datenblatt 5.1) ihn wieder
-
Thread
Tipps zum Vorgehen bei der Fehlersuche STM32F103 E-Bike-Controller
nicht ableiten, woher die längere Dauer kommt... Die Interrupts sind derzeit so konfiguriert: [c]HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 1); //DMA ADC1 HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0); //ADC1+2 HAL_NVIC_SetPriority(MemoryManagement_IRQn, 1, 0); HAL_NVIC_SetPriority(BusFault_IRQn,
IRQn, 3, 1); //DMA UARTTx HAL_NVIC_SetPriority(EXTI9_5_IRQn, 2, 0); //Speed and PAS sensors HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);[/c] Ich kann mir aber auch nicht recht vorstellen, daß es an der Interrupt Priorisierung liegt, auch wenn ich damit etwas rumexperimentiert
-
Thread
STM32L051 UART transmit
Das ist gar nicht schwierig. Dort ist ein Beispiel (ohne Sendepuffer): http://stefanfrings.de/stm32/stm32l0.html#usart Wenn du das mit einem Puffer machen willst, würde ich aber nicht '\0' als Ende-Markierung benutzen, denn das funktioniert nur mit Strings in denen das Zeichen nicht vorkommt.
gegenüber der Nichtverwendung aufgebläht... Das steht auch auf meine Seite: http://stefanfrings.de/stm32/stm32l0.html#gccopt Die ganzen Formatier-Funktionen bekommt man halt nicht umsonst.
-
Thread
VFD Ansteuerung mit STM8
c-hater schrieb im Beitrag #7323608: > Ist sein Projekt > und er selber hat sich aus unerfindlichen Gründen für STM8 > entschieden... Naja, vielleicht hat er noch ne Tüte davon in seiner Bastelkiste
Maschinenbefehl ein möglichst gut zu merkender Name (wird hier oft Mnemonik genannt) zugeordnet. Also anstelle 0C3h 57h 0E0h lieber sowas JMP Kaltstart Bei den maschinenunabhängigen Sprachen bedarf es eines Übersetzungsprogrammes (zumeist Compiler genannt), das für die jeweiligen Sprachelemente der jeweiligen
-
Thread
Modbus TCP mit Freemodbus
Inbetriebnahme des freeModbus (https://github.com/cwalter-at/freemodbus) Das Zielsystem ist ein Stm32F469, FreeRTOS wird nich verwendet. LWIP mit dem tcp_server sowie auch tcp_client Beispielen funktionieren super. (tcp-echoserver und tcp-echoclient). Nun zu dem Modbus Stack (freeModbus s.o
break; case EV_FRAME_SENT: break; } } return MB_ENOERR; } [/c]
-
Thread
AVR®DD family, low pin count devices
also z. B. Attiny 0/ 1/ 2 Series vs AVR Dx. > 10MHz im größeren Temperaturbereich. Genau das meine ich nur 10Mhz garantiert bei 3V. Andere Controller gehen da locker bis 48mhz oder höher (STM32, SAMD). Das Thema Waitstates
Heinz K. schrieb im Beitrag #7829084: > Bei STM32 geht das nur mit Emulation im Flash. Die STM32L0 Serie hat EEPROM
-
Thread
DAB Shield Frage zu Arduino Code
auch dabei: The DAB Shield is compatible with both +5v and +3.3v arduino boards including UNO, DUE, M0, ZERO as well as STM32, NXP LPC, ESP32 boards. Ich habe versucht das ino File zu compilieren, eingestellt war das UNO Board. Es kommt die Fehlermeldung das zu wenig RAM vorhanden ist. Erst mit einem
gemacht als was auf der Web Seite da zu finden ist. Anton L. schrieb im Beitrag #7329397: > Mit ESP32 R32 Shield funktioniert es auch ganz gut. Es sollte auch möglich sein, das mit einem STM32 hin zu bekommen. Liegt daran, dass ich kein ESP32 habe aber STM32 Boards.
-
Thread
Neue Bauteile: MUXe, Kontaktfedern, Evaluationsboards und mehr
Elemente und Ereignisse, die sie im Hinterkopf behalten sollten. ### In eigener Sache: keine FPU am STM32C0! STMicroelectronics hat auf die Anfrage im Bezug auf den neuen STM-Chip geantwortet. Explizit gilt, dass er keine FPU enthält - der langjährige Wegbegleiter des Autors, Michael Markowitz, bestätigte dies folgendermaßen: [c] No hw floating-point unit (fpu) on the STM32C0. This a basic controller/8-bit replacement. [/c] ### Microchip: Evaluationsboard für das hauseigene Bluetooth LE und Zigbee-Modul Spätestens seit
-
Thread
Image Converter - Bild zu c array konvertieren
der "normale" Weg bei solchen größeren Projekten. Wie würde man das Problem richtig lösen? [c] c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: ./LVGL/hal_stm_lvgl/tft
../LVGL/hal_stm_lvgl/tft/ili9341.h:209: first defined here c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi
-
Thread
union in .h deklarieren und über mehrere c-files zugreifen
binde ich die test.h ein [c] #include "test.h" t_all_values_union all_values; [/c] und möchte auf die Daten zugreifen, z.B. mit [c] for (uint8_t i = 0; i < 12; i++) { all_values.array[i] = i; } [/c] Der Compiler
Moin, ich experimentiere gerade im einem STM32 Projekt mit union/struct. Dabei habe ich deine test.h/.c benutzt und konnte keinen Fehler feststellen. Kann es sein, dass "t_all_values_union" noch an anderer Stelle im Projekt benutzt wird?
-
Thread
Programm "stm32flash" öffnet Gerät nicht - Fehleranalyse
Pinbelegung des Mikrocontrollers in seinem Datasheet anschauen. Insbesondere die Beschreibung des Boot0 Pins. Schau dir mal diese Seite an: http://stefanfrings.de/stm32/stm32f1.html#proginterfaces (die ganze Seite meine ich)
Reset Taster gedrückt halten, den ST-Link starten, dann den Taster loslassen. Alternative: Boot0 auf HIGH setzen, dann startet der Bootloader, welcher SWD nicht deaktiviert. > Einen baugleichen STM32 habe ich erfolgreich geflasht, bei diesem hier > komme ich nicht weiter. Falls es ein STM32F103C8
-
Thread
Arduino Portenta H7 in Industrie Geräten mit geringer Stückzahl
Nachfolge-Modelle so weit wie möglich pin-kompatibel sind. Die Minimalbeschaltung ist bei AVR und STM32 identisch: An alle VDD/GND Pin-Paare kommt ein 100nF Kondensator. An Reset/GND kommt auch einer. Und du brauchst natürlich eine Versorgungsspannung an *allen* Versorgungs-Pins. Falls beim STM32
Bei Betrieb im industriellen Umfeld kräht kein Hahn nach EMV. Und auf Nord- oder Südpol bei -40°C wird auch kein Telefon gestört. Falls Feuchtigkeit ein Problem werden könnte, eher grobe Elektronik als ICs mit 0,4 mm Pinabstand verwenden. Stefan F. schrieb im Beitrag #7317201: > Falls ein
-
Thread
STM32 - Konflikt mit I2C
Hallo liebe Community, ich erstelle aktuell mein erstes Projekt mit dem STM32. Vorher habe ich immer die Atmega`s genutzt, möchte mich aber weiterbilden. Dabei sind mir nun folgende 2 Fragen aufgefallen: 1: Konflikte mit I2C Ich habe diverse Pins mit diversen Funktionen belegt und im STM32-CubeIDE wird mir ein Konflikt mit einem der beiden genutzten I2C Schnittstellen angezeigt (siehe Anhang). Alle dort gezeigten "Konfliktbedingungen" sind so korrekt: - PB5 = Input - PB6 = output
-
Thread
STM32G474, SPI2 läßt sich nicht einschalten
Hat von Euch jemand eine Idee, weshalb ich das SPI2 des STM32G474 nicht einschalten kann. Bevor ich Zeile 63 ausführe, steht im CR1-Register 0x2C, nach Ausführung der Zeile 63 nicht wie erwartet 0x6C, sondern 0x28 - anstatt dass das SPE-Bit gesetzt wird, wird
Address offset: 0x0C */ __IO uint32_t CRCPR; /*!< SPI CRC polynomial register (not used in I2S mode), Address offset: 0x10 */ __IO uint32_t RXCRCR; /*!< SPI Rx CRC register (not used in I2S mode),
-
Thread
Neue Low End-Mikrocontroller, interessanter Lesestoff und Corporate Politics
Round-Up ab der Neuigkeiten der letzten Tage. ### Bearbeitung Jan 17, 01h Budapester Zeit durch th - C0 hat KEINE FPU Nachfrage bei SGS wurde von Michael Markowitz beantwortet. STM32C0 ist OHNE FPU. O-Ton: [c] No hw floating-point unit (fpu) on the STM32C0. This a basic controller/8-bit replacement. [/c] ### STMicroelectronics: STM32C0-Serie offiziell angekündigt, Pressemitteilung spricht von „32-Bit-Kick für kostensensible 8-Bit-Anwendungen “. Die in CUBE seit einiger Zeit einsehbaren (und unter
-
Thread
Copy struct to uint32_t array
folgendes Problem. Der Mikrocontroller den ich nutzte hat einen speziellen RAM Bereich mit jeweils 32bit x 32. Ich kann das RAM nur mit RAM->Ret[0].Ret = 0x12345678 beschreiben. Das wäre quasi das erste Element. Ich habe nun eine Struktur mir unterschiedlichen Variablen (uint8_t, uitn16_t). Diese
byteweise Adressierung für den Bereich zulässt, geht das. Bei machen geht es nicht (z.B. Backup-RAM der STM32F4-RTC).
-
Thread
ULN2803A wird warm/heiss, normal?
bis 2MHz gefunden. min. typ tPLH Turn-on Delay Time 0.5 Vi to 0.5 Vo 0.25 1 us tPHL Turn-off Delay Time 0.5 Vi to 0.5 Vo 0.25 1 us Es dauert als typisch 1us, bevor ein Eingangssignal HALBWEGS am Ausgang ankommt. Da ist es aber nicht nicht voll durchgeschaltet
2MHz gefunden. > > min. typ > tPLH Turn-on Delay Time 0.5 Vi to 0.5 Vo 0.25 1 us > tPHL Turn-off Delay Time 0.5 Vi to 0.5 Vo 0.25 1 us > > Es dauert als typisch 1us, bevor ein Eingangssignal HALBWEGS am Ja, diese Zeiten sind mir nicht entgangen
-
Thread
ST Link-Verbindung
. Der Reset Pin bedarf besonderer Aufmerksamkeit, falls nicht verbunden. http://stefanfrings.de/stm32/stm32f1.html#stlink
verbindest. Die billigen ST-Link Sticks aus China haben aber keinen Reset-Ausgang (für STM32). Lies http://stefanfrings.de/stm32/stm32f1.html#stlink und die darin verlinkten Seiten. Direkt darunter steht auch, wie man die Schnittstelle Deaktiviert - das Aktivieren geht logischerweise umgekehrt
-
Thread
uwTick STM32 HAL überlaufsicher?
49 Tage messen willst ist das ja kein Problem. Solange Du den alten Vergleichswert im gleichen UINT32 speicherst kannst Du die ohne weiteres voneinander abziehen. Kannst ja mal zwei UINT32 definieren und 0x00000010-0xFFFFFFF0 ausrechnen lassen.
Korrektur: [c] uint32_t start, duration; start = HAL_GetTick(); tu etwas... duration = HAL_GetTick() - start; [/c]
-
Thread
Auswerteelektronik Quatratursignal
mt12_iic/mt12_iic.htm Was wäre Dir eine fertige Lösung wert? Man kann eine Controllerplatine (AVR, STM32 oder Pico-Board) mit LCD/TFT nehmen und diese passend programmieren. Georg schrieb im Beitrag #7311869: > Aber das war 1996. Es gab dafür Zähler mit Quadratureingang, z.B. > Thct12024.pdf.
ungünstigen Umgebungsbedingungen gut ablesbar sein sollen. Wenn es was selbst gebautes sein darf: alle STM32 die mir bislang über den Weg gelaufen sind haben mindestens einen Timer mit Quadraturencoder. Dann braucht es nur noch ggfs. einen Pegelwandler, ein kleines Display von Ali und eine Handvoll Zeilen
-
Thread
RISC/V kommt in Schwung
Lohnt es sich STM32 noch zu lernen?
olaf schrieb im Beitrag #7320101: > Gut vergleichen kann man das Teil > vermutlich mit einem STM32F030F4P6TR. Allerdings ist der CH32V003 offenbar als pinkompatibler Ersatz für den STM8S003 gedacht.
-
Thread
FatFS Lib - Was ist schneller? Zwei files oder file-seek?
nur dass die Audio-Daten am Ende z.B. 512 Byte-Aligned in der Datei habe? Zugrundeliegender uC sollte erstmal egal sein (ist noch nicht sicher welcher), aber mit Sicherheit einer, der ein natives 4-Bit SDIO Interface hat. Danke euch!
verwenden. Im FatFS kann man auch größere Buffer anlegen, dann wird lesen per DMA noch effizienter. Die STM32H7 haben ein sehr schnelles SDMMC Interface, für die Daten/Kommandos gibt es Statemachines in Hardware. Damit bekommt man Lesegeschwindigkeiten >20 MByte/s hin. Da wird die SD Karte sicher nicht das
-
Thread
STM32 - HAL Delay gut?
der while Schleife rum und User Eingaben im Hauptprogramm gehen verloren. Liege ich richtig? [c] __weak void HAL_Delay(uint32_t Delay) { uint32_t tickstart = HAL_GetTick(); uint32_t wait = Delay; /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait += (uint32_t)(uwTickFreq); } while ((HAL_GetTick() - tickstart) < wait) { } } [/c] Wäre dann diese Art der Implementierung besser? https://embeddedexpert.io/?p=246 Oder eine ganz andere?
-
Thread
Überlauf in AVR mit C
) P_Teil = LIMIT_HIGH; return P_Teil; } void setup() { Serial.begin(115200); } int32_t T_ist = 0; int32_t T_soll = -1000; void loop() { int32_t e; e = T_soll - T_ist; T_ist = P_controller(e); Serial.println(T_ist); delay(100); } [/c]
c-hater schrieb im Beitrag #7309615: > alles > darüber mit RICHTIGEN Hochsprachen. Welche nutzt Du für AVR/ESP/STM32?
-
Thread
RTC der MCU benutzen
hängt der RTC-Chip nur über einen Widerstand am Kondensator. Der kann dadurch von 3.3V bis runter zu 0.9V genutzt werden, und das mit max. 600nA@85°C (typ. 190nA). Die STM32 z.B. geben bei 1.65V auf. Der entscheidende Vorteil ist aber der integrierte Quarz, deshalb schwingt der auch auf einer versifften
in dem Punkt selbst: keine Schutzdiode nach VDD, aber Abs.max. VDD+0.5, aber Static characteristics 5.5V. Und ich dachte, Schweizer Uhrmacher wären besonders gewissenhaft :( Beim STM32 muss man mit der Eingangsspannung auch aufpassen. Die Werbung sagt 5V-tolerant,
-
Thread
Detailfrage RTC DS3231
Der DS3231 Wochentagzähler zählt übrigens von 1-7 und nicht von 0-6.
ohnehin für mich nicht wichtig. Abgesehen davon, ist mir das UNIX Datetime Konzept lieber. Beim STM32F103 z.B. ist die RTC ohnehin ein 32-bit Zähler; finde ich viel bequemer.
-
Thread
RL78/G14 Renesas - Free Linux Toolchain
Tools > auch für Linux anbietet, die auch die RL78 Controller bedient. AFAIK bietet Keil "nur" für STM32 Cortex-M0 eine "freie" (nicht OS!) Version der Tools für Windows an: https://www2.keil.com/stmicroelectronics-stm32/mdk Aber: Was versteht du unter einem SDK? Ich nehme halt unter Ubuntu "sudo
man zumeist auch Support dabei und man kann einen FE vom Distributor nerven. Bei den ARM-Cortex µC, speziell den STM32, findet man halt an jeder Ecke im Internet Hilfe. Und langsam sind grad die STM32 wieder besser erhältlich.
-
Thread
USB HID Device mit STM32F042
In] >> Ci:1:006:0 s 80 06 0600 0000 000a 10 < [submission Control In] << Ci:1:006:0 -32 0 [callback Control In] >> Ci:1:006:0 s 80 06 0200 0000 0009 9 < [submission Control In] << Ci:1:006:0 0 9 = 09022900 010100c0
0020 32 < [submission Control In] << Ci:1:006:0 0 32 = 05010900 a1011500 26ff0085 01750895 40090081 82850275 08954009 009182c0 [callback Control In] 05 01 09 00 a1 01 15 00 26 ff 00 85 01 75 08 95 40 09 00
-
Thread
Segger Embedded Studio: Memory (map) problem
Memory map. Es ist selbst mit einem leeren (Beispiel-)Projekt nachvollziehbar, welches ich aus dem "STM32F4xx" Package generiere. Beispielcode: [c] #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int i; int r; static char some_data[10000]; for (
Hallo, was mir natürlich bei Dir auffällt ist die RAM-Adresse bei 0x10000000, was dem CCM-RAM im STM32F4 entspricht. Kannst Du Dein Projekt mal zippen und mir senden ?
-
Thread
Nachteile QFN und BGA gegenüber QFP
übrigens immer ein Exposed Pad, man kann sie > ohne gar nicht fertigen. ST kann das z.B. beim STM32F042 im QFN28. https://www.st.com/resource/en/datasheet/stm32f042f6.pdf Matthias
STM32 gibt's auch ohne Pad, z.B.: https://www.digikey.de/de/products/filter/embedded/mikrocontroller/685?s=N4IgTCBcDaIM4BcC2BmMAbADARmwcxAF0BfIA
-
Thread
EOL ATmega328p
unbekannt ist und ändert das ab. Ich würde das mit Makros lösen. Auszug aus einem realen Projekt: [c] #ifndef UCSR0A #define UCSR0A UCSRA #define UCSR0B UCSRB #define UCSR0C UCSRC #define UBRR0H UBRRH #define UBRR0L UBRRL #define UDRE0 UDRE #define UDR0 UDR #define RXC0 RXC #define RXEN0 RXEN #define TXEN0 TXEN #define UCSZ00 UCSZ0 #define UCSZ01 UCSZ1 #define U2X0 U2X #define RXCIE0 RXCIE #define TXCIE0 TXCIE #endif [/c]
-
Thread
CH32V003 - Experimente mit dem Zehn Cent-Mikrocontroller
Ist schon jemandem aufgefallen, dass der CH32V003F4P6 nicht nur zufällig so ähnlich heisst wie der STM8S003F3P6? Das Pinout ist nahezu perfekt gleich, siehe Anhang. (Pinout des CH32V003F4P6 - gelb markiert sind die STM8S-Anschlüsse) Der CH32V003F4P6 kann in allen Schaltungen mit STM8Sx03F3P6 sofort ohne Änderung der Hardware und des Layouts eingesetzt werden. Nur der Kondensator an VCap (Pin8 des STM8S) muss beim CH32V003 nicht bestückt werden.
-
Thread
Wäre dankbar für Eure Unterstützung bei der Verbesserung meiner PCB Rapid Prototyping-Fähigkeiten
auszutauschen und Unterstützung bei der Schaltungsentwicklung und dem Schreiben von Code für AVR und STM32 zu erhalten. Außerdem bin ich auf der Suche nach einem weiteren technischen Mitgründer und einigen Mentoren für das DeepTech-Startup Augmented Reality Head-Up Display Fullface Mask für Verteidigung
einen Vorschlag: Produziere Blue-Pill kompatible Boards, die du nach Wunsch mit unterschiedlichen STM32 Chips bestückt lieferst oder auch leer. Dafür finden sich bestimmt rasch Abnehmer und bei den aktuellen Marktpreisen ist das Risiko gering, damit Verluste zu machen (wenn man die Arbeitszeit wie geplant
-
Thread
Welche Programmiersprache für Comports?
Durchsehen so aus, als bräuchte ich 3 Tage, um das zum Laufen zu bekommen und außerdem ist wohl nur eine 32-bit-Version für Windows vorhanden. Meine Lösung ist typischerweise eine Pipe zu einem kleinen C-Programm, das dann den UDP-Verkehr abwickelt. Pipes oder TCP-Kanäle zu anderen Programmen funktionieren
hier bspw. bei Maschinen-/Gerätesteuerungen schon lange auf einfachen Controllern (früher AVR, jetzt STM32) unter NuttX mit einem angepassten Tcl-Interpreter und angepasster Tk-Bibliothek. D.h. dass 99% des Nutzer-Codes tatsächlich als Tcl-Code vorliegt und wir nur einige wenige Dinge (RT-Komponenten etc
-
Thread
c volatile -> wann bracht mans wirklich?
noch schöne Weihnachten in die Runde! Ich nutze gerade die freie Zeit zum Programmieren auf einem STM32, Programmiersprache c. Prinzipiell ist mir das volatile-Konzept soweit klar, aber im Detail kommen dann doch Fragen auf. Die Situation ist folgende: Ein Struct (typedef struct tFoo tFoo;) wird
mit, d.H. die Lösung für Problem 2 löst gleich im Vorbeigehen Problem 1 mit. z.B. __disable_irq()/STM32/gcc wird zu [c] __ASM volatile ("cpsid i" : : : "memory"); [/c] Ein Anfänger schrieb im Beitrag #7298005: > Prinzipiell ist mir das volatile-Konzept soweit > klar ist es vermutlich nicht
-
Thread
Problem mit Timer und Delay
global interrupt von Timer 2 aktivieren? Ich wäre euch für eine einfache Erklärung sehr dankbar. STM32 ist für mich noch eine neue Welt. Danke!
Ein Beispiel dazu: http://stefanfrings.de/stm32/stm32f3.html#systick Falls du die HAL verwendest, benutze die Funktion HAL_Delay() https://www.disca.upv.es/aperles/arm_cortex_m3/llibre/st/STM32F439xx_User_Manual/group__hal__exported__functions
-
Thread
SONOFF NSPanel kaufen?
ACHTUNG: ich habe die alte Version, die es noch zu kaufen gibt, nicht die Neue ohne Relais und mit STM32 Prozessor. Es geht aber du musst es so konfigurieren, so das eines der beiden Relais die den Thermostatkontakt ersetzt. So wie es verkauft wird, sollte man ein Modul einsetzen, welches über Wifi
lässt. (auch bei 9Bit precision). Mein Programm erkennt die Aussetzer, ignoriert Werte unter +2°C, und resettet den I2C Bus wenn solche Werte (oft -127°C) auftreten. An dem Brennergebläse direkt durch Kondensatoren etwas zu verbessern, wäre eine Möglichkeit, aber ich möchte an der Heizungsanlage
-
Thread
5us PIN Change
Mit dem PSSI der STM32U5x5 mit DMA geht das problemlos auch ein 'wenig' schneller als gefordert, nämlich mit max. 64MHz und auch mit bis zu 16 Pins synchron.
|= _BV(PB0)|_BV(PB1); // UBO Pin 8 und 9 for(;;)for(byte m:muster) PINB = m; } [/c]
-
Thread
STM32F401 BlackPill Erweiterung für StdPeriph Library ?
Lib. Du kommst bei EmBitz auch weiter ohne HAL aus. Ich benutze EmBitz schon seit langem für die STM32F401CC und STM32F411CE ohne HAL. Wenn Du zum Beispiel ein Projekt für den STM32F401CC mit EmBitz anlegst, dann befinden sich u.a. folgende Ordner im Projekt: [code] cmsis inc SPL [/code] CMSIS
die STM32F4 schon lange abgefrühstückt. Was soll jetzt mit den STM32F401CC und STM32F411CE auf den BlackPills anders sein? Wo sollen da plötzlich Probleme auftauchen? Ein STM32F01CC unterscheidet sich nicht
-
Thread
Timer Interrupt auslösen - STM32F103 (HAL, STM32CubeIDE)
Src/stm32f1xx_hal_msp.c" -mcpu=cortex-m3 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F103xB -c -I../Core/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32f1xx_hal_msp.d" -MT"Core/Src/stm32f1xx_hal_msp.o" --specs=nano.specs -
-
Thread
Neue Bauteile – MAX78002 mit Extraspeicher, Knochenschall-Mikrophon und mehr
das Bauteil in Hunderterstückzahlen nach wie vor gute vier Euro kostet. ### STMicroelectronics STM32CubeCLT – Kommandozeilenwerkzeug für IDE-Bauer Mit dem unter https://www.st.com/en/development-tools/stm32cubeclt.html bereitstehenden Paket aus diversen Kommandozeilenutilities möchte STMicroelectronics
Hunderterstückzahlen zwischen 6 und 8 Euro zu zahlen bereit ist, und mit einer initialen Genauigkeit von +/- 0.04V auskommt, findet in der ADR3625 einen neuen Weg.Die Temperaturgenauigkeit beträgt 3 ppm/°C, eine preiswertere Variante verdoppelt beide Parameter.  (Bildquelle
-
Thread
Lahme mathlib für STM32F411
Ich habe gerade mal die Geschwindigkeit der sinf() - Funktion mit folgndem Progrämmchen getestet: [c] volatile float f = 0.0f; float phi = 0.0f; float dphi = 0.1f; volatile uint32_t start, dt; start = uwTick; for (uint32_t i=0; i< 100000;i++) { f += sinf(phi); phi += dphi;
schon interessant. Da wird mit Standard Float gerechnet (also nicht double), und bei der Konstanten 0.15915494309189533576888376337251F werden 32 Nachkommastellen angegeben. Bei IEEE-754 werden für Single-Precision 23 Bit Mantisse benutzt, was dann ca 7 Dezimalstellen bedeutet.
-
Thread
GCC [STM32] -> wie sehen wie ein struct realisiert wird?
Blick in den Speicher zeigt es mMn: typedef struct __attribute__((packed)){ uint8_t a; int32_t b; bool c; uint64_t d; } ts_test; ... ts_test ts; ts.a=0x11; ts.b=0x22222222; ts.c=true; ts.d=0x3333333333333333; &ts=&ts; ... Bilder...
das so machen (Representation Clause): [vhdl] type a_type is mod 2 ** 6; type b_type is range 0 .. 2 ** 20 - 1; type c_type is range 0 .. 1; type d_type is range 0 .. 2 ** 35 - 1; type Byte is range 0 .. 255; ... type ts_test is record a : a_type; b : b_type; c : c_type
-
Thread
Warum gibt es kein HAL_GPIO_RegisterCallback
Hallo, es gibt ja bei den STM32 seit ein paar Jahren diverse Peripherals, zu denen man seine eigenen Callbacks registrieren kann, z.B. [c]HAL_DMA_RegisterCallback(&hdma_usart1_tx, HAL_DMA_XFER_CPLT_CB_ID, &UART_DMA_TransferComplete
Flötenhannes schrieb im Beitrag #7286798: > ...gibt es das nicht für EXTI. - https://wiki.st.com/stm32mcu/wiki/Getting_started_with_EXTI