Der STM32 ist die dritte ARM-Familie von STMicroelectronics. Es folgt ihrer früheren STR9-Familie basierend auf dem ARM9E-Kern und der STR7-Familie basierend auf dem ARM7TDMI-Kern. Der STM32 basiert auf der ARM Cortex-M-Kernfamilie.
Also wechsele ich von PICs zu ARM und kaufe ein STM32F4 Discovery Board. Soweit ich weiß, können Sie zum Programmieren entweder direkt auf alle Register im Speicher zugreifen (auf offensichtliche Weise), und es gibt drei Hauptbibliotheken, mit denen Sie Ihr Leben einfacher gestalten können. Nun ist meine Frage, welche dieser …
Ich habe also eine Weile mit dem STM32F407 experimentiert (ich bin neu in ARM) und mich dazu entschlossen, eine einfache App mit den HAL-Bibliotheken zu schreiben, da es den Anschein hat, als hätte ST die Standard-Peripheriebibliotheken eingestellt. Meine Frage ist also, worum geht es in HAL? Hat StdPeriph seine Arbeit …
Ich versuche herauszufinden, wie die printf-Funktion zum Drucken über die serielle Schnittstelle verwendet wird. Mein aktuelles Setup ist STM32CubeMX- generierter Code und SystemWorkbench32 mit der STM32F407-Erkennungskarte . Ich sehe in stdio.h, dass der printf-Prototyp wie folgt definiert ist: int _EXFUN(printf, (const char *__restrict, ...) _ATTRIBUTE ((__format__ (__printf__, 1, 2)))); Was …
Ich habe begonnen, Interrupts auf stm32 zu studieren, insbesondere auf dem stm32f4-Discovery-Board. Ich habe dieses Beispiel gefunden, in dem Sie die Taste drücken müssen, um den Interrupt zu starten, und erneut drücken müssen, um ihn zu stoppen. In dieser Zeile: EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt müssen wir entweder den Interrupt-Modus oder den …
Welches ist die effizienteste Methode / der minimal erforderliche Code, um einen STM32F4 zu starten? Die Startdateien, die von ST stammen, scheinen viel unnötigen Code zu haben.
Ich versuche zu lernen, wie man "neue" HAL-Bibliothek von stm32 verwendet. Wenn ich versuche, eine einfache ADC-Konvertierung durchzuführen, funktioniert dies nur einmal, aber dann wird die Konvertierung beendet. Ich nehme an, das Flag für das Ende der Konvertierung wird nicht gesetzt. Ich verwende das STM32f429I Discovery Board, das STM32f429ZI an …
Ich habe kürzlich die stm32-App für die MCU-Suche heruntergeladen und festgestellt, dass beispielsweise STM32F429 im Peripheriegerät "USB-Gerät" "NEIN" hat, während in "USB OTG FS" und "USB OTG HS" "JA" steht. Was ziemlich überraschend ist, da STM32F429 als USB-Gerät voll funktionsfähig ist, dh alle Bibliotheken und USB-Klassen unterstützt. In einigen anderen …
Ich verwende Interrupt-basiertes UART IO (kein DMA). HAL_UART_Transmit_ITFunktion setzt EIEBit im CR3Register. Laut STM32F407-Datenblatt (und realem Verhalten) wird dadurch nur im Mehrpuffermodus (wenn das DMARBit gesetzt ist) ein Interrupt erzeugt . EIEAktiviert die Interrupt-Generierung für Frame Error ( FE), Overrun Error ( ORE), Noise Error ( NE). Dieser Fehler dient …
Es gibt einige Dinge, die ich beim Startvorgang des STM32F4-Mikrocontrollers nicht verstehe. Mein Verständnis ist wie folgt: Der ARM Cortex-M4-Start erwartet den Stapelzeiger-Initialisierungswert und die Interrupt-Vektoren an 0x00000000 + SCB->VTOR, während er SCB->VTORbeim Zurücksetzen gelöscht wird. An diesem Ort ist kein Speicher vorhanden. Flash-Speicher beginnt um 0x08000000, SRAM um 0x20000000. …
Ich habe ein STM32F4 Discovery Board und einen ST-Link / V2 Programmierer. Ich möchte meinen eigenen ST-Link (nicht den eingebetteten) zum Programmieren und Debuggen der Karte verwenden. Wie soll ich den externen ST-Link an die Karte anschließen?
Für meine Masterarbeit in Informatik muss ich einen linearen CCD-Sensor TCD1304AP auslesen. Ein STM32-Mikrocontroller mit der Schaltung auf einem Steckbrett erledigt die Aufgabe, aber um mein Projekt tragbarer zu machen, habe ich eine Leiterplatte bei elecrow entworfen und bestellt. Leider bekomme ich bei der hergestellten Leiterplatte beim Auslesen des Sensors …
Ich versuche, zu den ST HAL-Bibliotheken zu wechseln, und kann die PWM anscheinend nicht zum Laufen bringen. Kompiliert gut, startet einfach nicht. In meinem main () rufe ich die Timer-Initialisierungsfunktion auf: /* TIM3 init function */ void MX_TIM3_Init(void) { TIM_MasterConfigTypeDef sMasterConfig; TIM_OC_InitTypeDef sConfigOC; htim3.Instance = TIM3; htim3.Init.Prescaler = 0; htim3.Init.CounterMode …
Ich habe eine Anwendung mit dem STM32F4-Discovery-Entwicklungskit entwickelt. Jetzt ist der Code ausgereift und ich muss eine benutzerdefinierte Schaltung erstellen. Ich habe zuerst angefangen, die nackte Rennstrecke zu bauen: Ich habe den Chip über einen Standard-30-Watt-Lötkolben mit einer Technik wie in diesem Video auf die Platine gelötet: http://www.youtube.com/watch?v=6YU3v_w7x7o Da ich …
Ich werde mit malloc und free mit dynamischem Speicher umgehen müssen. In der FreeRTOS-Dokumentation habe ich festgestellt, dass pvPortMalloc (Größe) und vPortFree (ptr), pvPortMalloc (Größe) einwandfrei funktionieren. Wenn Sie versuchen, Speicher mit vPortFree (ptr) in einem Thread freizugeben, bleibt der Code bei diesem Aufruf hängen. Ich verwende heap_4 für CMSIS-RTOS …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.