-
Thread
STM32: DMA Callbacks werden nicht aufgerufen, seltsamer Bug in der Cube-HAL
Hallo, nach einem Tag festgestellt, warum Code, der früher ging, mit einer aktuelleren CubeHAL (STM32Cube FW_F3 V1.8.0, welche CubeMX V4.21.0 heute runtergeladen hat) nicht mehr ging: Ich initialisiere einen DMA, u.a. so: [code] dmaCC2.XferCpltCallback = DMA_TransferCompleteHandler; dmaCC2
immer ist es ein Vorteil erst mal einen Blick in die mitgelieferten Beispiele zu werfen. z.B.: STM32Cube_FW_F3_V1.8.0/Projects/STM32F303RE-Nucleo/Examples/DMA/DMA_FLASHToRAM/Src/main.c [c] /*##-4- Initialize the DMA channel ##########################################*/ if (HAL_DMA_Init(&DmaHandle
-
Thread
UART array auslesen
Hallo Ich habe die UART implementiert. STM32F303 Ich würde gerne wissen, wofür der Timeoutparameter in dieser Funktion gut ist, bzw. wofür dieser gebraucht wird. Ich erkenne nämlich keinen Unterschied, wenn dieser 100 oder 1000000 ist.
max schrieb im Beitrag #5021673: > UART_FLAG_TXE Ich kenne die STM32F3xx nicht so gut, um hier als Experte durchzugehen. Trotzdem meine ich, dass dieses Flag dafür steht, dass der Sendebuffer voll bzw. leer ist. Da die HAL-Funktion blockierend sein soll, (ich habe
-
Thread
adc scanconvmode
ist ein Successive approximation Teil, was anderes kann ich mir nicht vorstellen. Es ist der uC STM32F303 Die Beschreibung, die ich im Internet finde ist 1:1 aus dem c-File. Genau diese verstehe ich nicht.. Was ist nun disabled und enabled. Manche haben sogar sowas drin als Scanconvmode: ADC_SCAN_DIRECTION_FORWARD
, worum es wohl gehen könnte, aber solche Infos gehören einfach zur Frage dazu. > Es ist der uC STM32F303 Ah, also der ADC1 eines STM32F303. Das war die Information, die gefehlt hat. > Die Beschreibung, die ich im Internet finde ist 1:1 aus dem c-File. > Genau diese verstehe ich nicht..
-
Thread
Hook up a MEMS microphone to the I2S of a Cortex M4
schwierig aufzusetzen und läßt sich in CubeIDE einfach zusammenklicken. Ich habe mein Projekt für einen F303 mal angehängt, kuck Dir einfach die .ioc an und implementiere für Deinen uC entsprechend. Cheers Detlef
mich noch etwas schwer. Laut Datenblatt ist das Oversampling 64. Wenn ich mir den HAL-Code vom STM32 anschaue, ergibt sich der I2S-Clock aus der Audio Frequency * Datenbreite. Ich muss also die Datenbreite auf 24Bit stellen. Der STM32 macht daraus 2 * 32 Bit. Das passt zum Oversampling laut Datenblatt
-
Thread
STM32Fxxxx Machbarkeit Frage
dafür sorgen, dass die Daten die schon zu Pc übertragen löschen. Was sagt ihr dazu, wenn ich eine STM32F303VCT6 benutzen werde. Das wird schon ausreichen?
knapp 57MByte/s, die du verarbeiten und wegschaufeln musst. Overhead noch nicht eingerichtet. Ein STM32F3 uC mit max. 72MHz wird da wohl eher nicht ausreichen. Das ist schon eher was für ein FPGA.
-
Thread
STM32F407 Black und Arduino
Meins kam von Aliexpress: https://www.aliexpress.com/item/STM32F407ZET6-development-board-M4-STM32F4-core-board-arm-development-board-cortex-M4/32793995387.html
Hmm .. scheinbar wird nur der VET6 als "Black VET6" STM32F407VET6 Variant bezeichnet. Die ZTE Variante kommt ohne "Black" aus, obwohl sie auch schwarz ist: http://wiki.stm32duino.com/index.php?title=STM32F407#STM32F407ZET6_Variant
-
Thread
LCD-Ansteurung
Hallo zusammen. ich habe ein LCD mit dem Mikrocontroller STM32F303 verbunden. Der Mikrocontroller kann ich programmieren. Jedoch wenn ich das Display initialisieren sowie etwas anzeigen möchte, geht das nicht. Code gibts oben Habe ich irgendetwas in
Josef H. schrieb im Beitrag #4990150: > ich habe ein LCD mit dem Mikrocontroller STM32F303 verbunden. (...) > Display -> > http://www.conrad.ch/ce/de/product/181705/?insert=62&insertNoDeeplink&productname=LC-Display-Schwarz-Gelb-Gruen-B-x-H-x-T-40-x-20-x-108-mm-EADIPS082-HNLED
-
Thread
stm32: Partitionieren; bootloader flash ab best. adresse
Hallo liebes Forum, verwendet werden zwei STM32F303-Mikrocontroller. Ein uC fungiert quasi als Master und der Andere als Slave. Dabei habe ich den Master so programmiert, dass dieser den Slave programmiert (mittels des Bootloaders). Grundsätzlich
Schreiben funktioniert, aber das Ausführen nicht. Ich möchte, dass dies möglich ist, da ich den STM32F303 partitionieren will. Somit könnte ich zB zwei unterschiedliche Programme in den Flash speichern und je nach Modus das eine oder andere Programm starten. Grund: das eine Programm könnte der "normale
-
Thread
STM32F303 SPI-DMA-Kommunikation Interrupts zeitweise sperren
Hallo, ich nutzte den STM32F303 Microcontroller. Dieser soll per SPI und DMA Daten empfangen und senden. Zur Zeit werden die Funktionen der HAL Bibliothek genutzt. Hauptsächlich die Funktion HAL_SPI_TransmitReceive_DMA
-
Thread
STM32 Hall Sensor Mode
Hallo, ich möchte für eine BLDC Anwendung 3 Hallsensoren für die Positionserfassung an einen STM32 anschließen. Müssen die Hallsensoren unbedingt an CH1, CH2 und CH3 einer Timers angeschlossen werden oder funktioniert es auch mit CH1, CH2 und CH4? Konkret geht es um den STM32F303, TIM3 CH1,
-
Thread
PWM Signalerzeugung
danke ich probiers spaeter mal mit dem stm32f303
Also ich habe es jetzt mal versucht mit dem STM32F303. Da funktionierte es. Bei einem Pin musste ich aber auf AF10 mappen. Dann habe ich es nochmals auf dem STM32L476 Nucleo angeschlossen und gemessen und dann ging es, nachdem ich wieder den
-
Thread
regular und injected external triggers
Welche Plattform? STM32?
Lothar M. schrieb im Beitrag #4963236: > Welche Plattform? STM32? Ja immer noch ;)
-
Thread
AVR versus ARM Gesperrt
STM32F303 und dessen Derivate: http://www.st.com/content/ccc/resource/technical/document/application_note/bb/09/ca/83/14/e9/44/c5/DM00083249.pdf/files/DM00083249.pdf/jcr:content/translations/en.DM00083249
Vincent H. schrieb im Beitrag #4961220: > Hier für einen STM32F303 und dessen Derivate: Tja, dann wird die Sache einfach noch unübersichtlicher: offenbar kocht da jeder STM32 sein eigenes Süppchen. Die Bustmatrix bei STM32F41xx und STM32F42xx zeigt den
-
Thread
STM32: DAC bringt keine Ausganagsspannung
Hallo zusammen, ich versuche aktuell den DAC eines STM32F303 in Betrieb zu nehmen, doch leider bekomme ich am Ausgang (PA4) kein Signal. Die Initialisierung kommt von CubeMX [CODE] /* DAC1 init function */ static void MX_DAC1_Init(void) {
Der DAC vom STM32F103 hat mWn. einen Stromausgang. Klemm mal nen R vom DAC Out gegen GND, und miss noch einmal. Später brauchst dann nen OPV.
-
Thread
STM32 programmieren bootloader
Hallo, ich verwende einen STM32F303 und habe einen Code geschrieben, indem einfach nur eine LED eingeschaltet wird. Aus diesem Code habe ich ein File erstellt, welches 1160 Hex-Zahlen beinhaltet. Weiters habe ich ein Programm
Datenblatt AN3155 beschrieben, beinhaltet. Nun bräuchte ich Hilfe, da ich nicht genau weiß, wie ich den STM32F303 mittels dem File programmieren soll. Zwei Dinge sind mir dabei etwas unklar: 1) Wenn ich es richtig verstanden habe, sollte es mit dem "Write Memory"-Command funktionieren. Nur leider kann ich
-
Thread
STM32: Wie 4 ADCs synchronisieren?
Hallo, ich hab hier einen STM32F303 mit 4 ADCs die ich synchronisiert sampeln lassen will. ADC1 und 2 sowie ADC3 und 4 lassen sich ja im Dual-Modus betreiben. Wie kann ich nun die beiden ADC-Gruppen ADC12 und ADC34 synchronisieren
Ich bin mit dem F3 nicht firm. Aber auf dem F4 habe ich so was mal mit einem Hardware Trigger gelöst. Bei mir ist ADC1 und ADC2 im Dual Mode gelaufen, AD3 war unabhängig. Die Wandlung der Injected Kanäle musste dann synchron
-
Thread
Timer auf Null setzen
Hallo, ich verwende den STM32F303 und habe ein kleines Problem mit dem Timer. Ich starte Timer2 mittels der Funktion void start_timer(). Der Timer selber funktioniert grundsätzlich. Sobald ein bestimmtes Ereignis auftritt schalte
-
Thread
DMA UART mit Parity bit
Hallo Forum, zu allererst: Ich verwende einen STM32F303! Ich möchte 8-bit-Werte, welche im Array "send_buffer" vorhanden sind über UART und DMA schicken. Wenn ich in der UART-Konfiguration folgende Einstellungen durchführe: Wort-Länge = 8 und kein
angesehen) Weiß jemand, welche Einstellung fehlt? Der Code sieht wie folgt aus: [c] #include <stm32f30x.h> #include <stm32f30x_gpio.h> #include <stm32f30x_rcc.h> #include <stm32f30x_usart.h> #include <stm32f30x_misc.h> //for NVIC #include <core_cm4.h> #include <stm32f30x_dma.h> #include
-
Thread
STM32 SPI im IRQ
wollte auch mmal mit einem LED-Cube spielen. Also gegriffen was noch rumlag, 512LEDs, 5 MCP23S17, ein STM32F303 und ne Handvoll Hühnerfutter. Nach 'nem Wochenende Löten ging es an die Programmierung. Die Ansteuerung der LEDs funktioniert, ein kompletter Durchlauf braucht 650µs. Um ein stabiles Bild
SPI_SR_BSY)); // Wait while busy > hängen. Relativ blöde Idee im Interrupt zu warten, auch auf 'nem STM32. Im SPI Interrupt ist das Peripherial in einem /bekannten/ Zustand - da brauchts keine Wartezeiten. Schnelles SPI für'n Cube würde ich lieber mit DMA machen.
-
Thread
Bootload Update STM32F303
dabei hilft. Das einzige was noch halbwegs zu diesem Thema passt, sind die Datenblätter AN2606 (STM32 microcontroller system memory boot mode) bzw. AN3155 (USART protocol used in the STM32 bootloader). Das erstgenannte Datenblatt handelt davon, welche Peripherien verwendet werden können und das
auch einen Logic-Analyzer, mit dem du den UART Leitungen "zugucken" kannst. Am besten setzt du den STM per Bootpins erstmal hart in den Bootloader-Mode. Und dann schickst du auf RX ein "0x7f", wenn du dann auf TX ein ACK (0x79) siehst, ist hardwaremäßig schon mal alles richtig. Dann geht es nur noch
-
Thread
EmBitz 1.1: Wie erzeugt man Assembler Listings?
\326a\016*t\321\252\247\347\303U" .ascii "L\345\324\366B\035\255\317\200sA\203\272\0074f\345Z" .ascii "_h\326\306\231\233\017\007\230\302\3156\177\212\374" .ascii "\370G\227\303\250V\211\314g\263\025\343\"\252t\271\254
etlichen Erros endet. Und man auch nicht nachvolziehen kann was da nicht stimmt. Ich arbeite mit dem STM32 Cortex M3. Daher bitte nur jener antworten, wer dieses Tool wirklich benutzt und den gewünschten Effekt schon erreicht hat. Vielleicht mit einem Screenshot dabei wo was eingetragen wird. Es gibt
-
Thread
STM32 zwei ADC channels auslesen ohne DMA
Hi, Ich versuche mit einem STM32f303x und den HAL libraries zwei Channels des ADC's auszulesen. Mit DMA geht alles wunderbar, aber wie man das ohne DMA per software macht, da blicke ich im Moment noch nicht durch. Ich muss zwei Strommessungen
Schau mal hier: https://developer.mbed.org/teams/Senior-Design-Sound-Monitor/code/STM32L4xx_HAL_Driver/docs/80ee8f3b695e/group__ADC__Exported__Functions__Group2.html Ist zwar nicht für deinen Controller, aber die HAL-Befehle gleichen sich in der Regel. Du musst deine beiden Channel
-
Thread
STM32: mit DMA Daten empfangen
NVIC_InitStructure); } [/c] Im Internet findest Du auch jede Menge Beispielcode, wenn Du nach stm32 dma usart receive googelst. EDIT: Den Aufruf von NVIC_PriorityGroupConfig() brauchst Du wohl nicht unbedingt.
verbunden! Marc Vesely schrieb: > Du meinst ein Byte (START-8bits-STOP) oder ? genau! Felix F. schrieb: > Welchen Controller mit wie viel MHz verwendest du? STM32F303 mit 72MHz > Der Cortex M3 (und vmtl auch seine Nachfolger) haben so eine Art Tail > Chaining. Wenn der nächste INT bereits
-
Thread
STM32 IAP boot loader
Hallo liebes Forum, ich beschäftige mich seit kurzem mit dem STM32F303. In Zukunft möchte ich ein geschriebenes Programm über die UART auf den Prozessor programmieren (also ohne Programmer). Hierfür habe das Datenblatt "AN4045 - STM32F series in-application programming
steht, dass mittels des IAP drivers es möglich sei, ein binary file über ein HyperTerminal in den STM32F3xx internal Flash-Speicher zu übergeben. Es ist sogar (aber meiner Meinung nach zu ungenau) ein Beispiele für das Vorgehen erläutert: Über ein HyperTerminal (ich verwende Putty) werden die COM
-
Thread
PWM Signal mit STM32
Hallo liebes Forum, ich möchte auf dem STM32F303 eine PWM erzeugen. Takt soll 1kHz betragen und das Tastverhältnis 10%. Als Orientierung habe ich folgendes Tutorial genommen: http://www.diller-technologies.de/stm32.html#timer Leider bringe
nicht zustande, eine PWM auf dem Pin PA0 erzeugen zu können. Mein Code lautet: [c] #include <stm32f30x.h> #include <stm32f30x_gpio.h> #include <stm32f30x_rcc.h> #include <stm32f30x_tim.h> // for Timer // prototypes void InitializeTimer(int period); void InitializeLEDs(void); void
-
Thread
zwei Entwicklungsumgebungen auf einem Rechner öffnen?
Hallo, ich habe zwei Evaluation Boards mit STM32F303 und programmiere mit der IDE Eclipse. Da ich diese zwei Mikroprozessoren miteinander kommunizieren lassen möchte, müsste ich beide uCs debuggen. Gibt es eine Möglichkeit auf einem PC beide Mikroprozessoren
-
Thread
externer Interrupt STM32F303
IRQHandler(void) { } [/c] Siehe z.B: https://github.com/espruino/Espruino/blob/master/targetlibs/stm32f3/lib/startup_stm32f30x.s
>Doch nur geraten? schon gemacht, mit STM32F0
-
Thread
HAL SPI TransmitReceive
SPI_CRCCALCULATION_ENABLE) { SPI_RESET_CRC(hspi); } #endif /* USE_SPI_CRC */ #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx) || defined (STM32F378xx) /* packing mode management is enabled by the DMA settings */ if ((hspi->Init.DataSize
XferAbortCallback = NULL; /* Enable the Rx DMA Stream/Channel */ HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBuffPtr, hspi->RxXferCount); /* Enable Rx DMA Request */ SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); /* Set the SPI Tx DMA transfer complete
-
Thread
STM32 ADC Modus
Hallo Forum, ich bin gerade dabei bei einem STM32F303 (64Pins) ADC Werte auszulesen. Für einen Wert ist das kein Problem. Was sich als Problem rausstellt, ist die zyklische Abfrage von ADC Werten von ADC1. Auf der Tutorialseite http://www.diller-technologies.de
ich die Kanäle des ADC1 abfragen will (ADC_Channel_6- ADC_Channel_9) Mode_Independent ist es laut stm32f30x_adc.h File nicht, weil dieser nicht explizit als ADC Multi ADC mode gekennzeichnet ist. Vielen Dank für euren Input.
-
Thread
Was bewirkt die Nutzung von NSS bei einem STM32 SPI-Slave?
Hallo, ich versuche gerade raus zu finden was bei einem STM32 SPI-Slave die Nutzung von NSS als Hardware-Input bewirkt. Ich hab schon in vielen Dokumenten von STM gesucht, dort ist immer die Master-Seite mit NSS gut dokumentiert, aber über den Slave findet man
Hab mir gerade mal die Ref Manuals zum F103 und F303 angeschaut weils mich auch interessiert hat, und dort steht wirklich nicht viel. Im F303 Manual steht dies hier unter Communication Diagrams: The slave starts to control MISO line as
-
Thread
STM32: Interrupt DMA
Liebes Forum, auf dem STM32F303 habe ich zusätzlich zur UART-Kommunikation die DMA programmiert. Der Kanal für die DMA für UART2 ist der Channel 7. Nachdem alle Daten gesendet wurden, wird ein Interrupt ausgelöst (durch UART_TX
-
Thread
STM32F303K8 clock selection
contains the system clock configuration for STM32F30x devices, * and is customized for use with STM32F3-DISCOVERY Kit. * The STM32F30x is configured to run at 72 MHz, following the three * configuration below
********************************** */ /** @addtogroup CMSIS * @{ */ /** @addtogroup stm32f30x_system * @{ */ /** @addtogroup STM32F30x_System_Private_Includes * @{ */ #include "stm32f30x.h" /** * @} */ /** @addtogroup STM32F30x_System_Private_TypesDefinitions
-
Thread
STM32 USART: es wird nichts gesendet
Liebes Forum, ich habe das Eval-Board "STM32F3DISCOVERY". Darauf befindet sich der STM32F303. Ich möchte die USART2 in Betrieb nehmen, daher war mein erstes Ziel die TX und RX Pins verbinden und die Zahl 0x55 zu senden und gleichzeitig zu empfangen
gesendet wird. Dieser Pin geht lediglich auf High. Hier ist mein Programm-Code: [c] #include <stm32f30x.h> #include <stm32f30x_gpio.h> #include <stm32f30x_rcc.h> #include <stm32f30x_usart.h> void InitializeUSART() { USART_InitTypeDef usartConfig; RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2
-
Thread
PCB für STM32F303K8T6
Hi, Ich möchte für einen STM32F303K8T6 ein eigenes PCB machen. Das flashen soll über den SWD erfolgen mithilfe eines externen STLINK/V2. Als clock nehme ich die interne clock. Gebootet soll vom flash Speicher werden, wie üblich
den uC flashen kann? Steht das irgendwo > im Datenblatt? Ich hab mir jetzt das Datenblatt zum STM32F303K8T6 nicht durchgelesen, aber soweit ich das sehe, hat dieser Typ gar keinen USB-Core drin. Also kannst du jetzt entweder auf USB pfeifen oder dir einen anderen Controllertyp aussuchen. Es geht
-
Thread
Custom Board für STM32F303
Hi, Ich möchte gerne ein eigenes Board für einen STM32F303 erstellen. Die USB Verbindung soll zum flashen und debuggen benützt werden, doch ich blicke noch nicht wirklich durch, wie man das macht. Die SWD Schnittstelle sollte ja eigentlich für beides
Sebastian T. schrieb im Beitrag #4860371: > Im Anhang ist ein Bild von einem STM32F3 Discovery und wie es dort > gelöst wurde. Da müsste anscheinend ein zweiter uC drauf? Das ist der ST-Link, der, wie auf fast allen Discovery Boards, mit dem STM32F103 gemacht wurde. Der F303
-
Thread
stm32f303K8T6 eagle
Hallo, Ich suche für den stm32f303K8T6 eine eagle lib file. Hat dies zufällig schon Jemand erstellt? Grüsse
-
Thread
Verständnisfrage DMA STM32
Hallo, ich möchte gerne den I2C mit dem DMA eines STM32F303 betreiben. Hierzu ist mir was im Reference Manual aufgefallen, was nicht ganz verstehe. Und zwar kann man im DMA direkte Registeradressen einstellen, auf die das DMA-Modul zugreift (z.B. die
: http://www.st.com/content/ccc/resource/technical/document/reference_manual/4a/19/6e/18/9d/92/43/32/DM00043574.pdf/files/DM00043574.pdf/jcr:content/translations/en.DM00043574.pdf Schonmal Vielen Dank für eure Hilfe!
-
Thread
STM32 SPI mehr als 16 Bit übertragen
Welchen STM32 µC hast du denn? Beim SPI vom STM32F303 ist die Datengröße auch auf 10-Bit konfigurierbar. Keine Ahnung wie genau sich das verhält, habe bisher nur 8- und 16-Bit benutzt, aber vielleicht ist das was
TriHexagon schrieb im Beitrag #4837061: > Welchen STM32 µC hast du denn? Beim SPI vom STM32F303 ist die Datengröße > auch auf 10-Bit konfigurierbar. Keine Ahnung wie genau sich das verhält, > habe bisher nur 8- und 16-Bit benutzt, aber vielleicht ist
-
Thread
STM32F303K6 - hängt sich auf wenn eine CAN-Nachricht empfangen wird
Hallo zusammen, ich möchte hier um euere Hilfe bieten... ich versuche mit dem STM32F303K6 eine CAN-Nachricht zu empfangen und der Mikrocontroller hängt sich auf wenn die Nachricht empfangen wird. Die LED am PA1 blink mit dem Timer und die Nachrichten werden einwandfrei gesendet,
interner Takt 72 mhz IDE: Keil uVision 5 Vielen Dank Stanislav hier ist der Code: #include "stm32f30x.h" void TIM2_IRQHandler(void){ CanTxMsg canMessage; TIM_ClearITPendingBit(TIM2, TIM_IT_Update); if(GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_1)){ GPIO_WriteBit(GPIOA, GPIO_Pin_1,