-
Thread
Index von Array: welcher Datentyp in C
uint32_t Feld; // Parameter für die Feldauswahl Feld = 18; test = array[(uint8_t)Feld]; [/c] Grund für die Frage: Da ich einen STM32 verwende, möchte ich weitestmöglich 32-Bit-Variablen
array[], size_t index) { return array[index]; } [/c] [code] foo_char: 0000000000000000: 48 0F BE C2 movsx rax,dl 0000000000000004: 8B 04 81 mov eax,dword ptr [rcx+rax*4] 0000000000000007: C3 ret foo_i32: 0000000000000000: 48 63 C2
-
Thread
STM32F446 Interrupt Probleme
sogar ein bisschen früher machen, als ganz am Ende der ISR. http://stefanfrings.de/stm32/stm32f3.html#exti Soweit ich auf die Schnelle sehen kann, ist das beim STM32F4 ebenso. Zum Debuggen könntest du innerhalb der ISR ganz am Anfang einen I/O Pin aug HIGH setzen, und ganz am Ende
Stefan F. schrieb im Beitrag #7455013: > Ich habe keine Erfahrung mit STM32F4, dafür aber mit F1 bis F3. Bei > denen ist das so, dass man alle EXTI Interrupts im EXTI_PR Register > bestätigen muss, sonst ruft
-
Thread
BeagleBone BeagleV-Ahead: BeagleBone mit RISC-V-CPU und hochwertiger Ausstattung
wirkliche Erfolge erlebten die quelloffenen Prozessorkerne vor Allem als Mikrocontroller (Stichwort GD32VF103). Mit dem BeagleV Ahead steht nun eine Variante mit 4GB RAM am Start.  Bildquelle: https://beagleboard.org/beaglev-ahead ### Worum geht es hier? Die von
[c] Among the newly added hardware, the rv64 TH1520 and the three added arm64/cortex-a35 based stm32mp2, ma35d1 and amlogic C3 are the most notable. --- https://lore.kernel.org/lkml/80fba92e-3836-4d27-8be6-1e5f7b5b2f53@app.fastmail.com/, via https://www.phoronix.com/news/Linux-6.5-SoCs [/c]
-
Thread
Bit Banging STM32 - F303RE ohne Library
Elektrotechnik 3 Semester Ich habe im schulischen Rahmen eine Projektaufgabe erhalten: Mit dem Nucleo64 - STM32F303Re eine Verbindung mit der LED-Matrix Max7219 herzustellen und ein kleines Spiel daraus zu machen und das alles in C und ohne Verwendung von irgendwelchen Libraries Die Übertragung funktioniert
Ich habe ein halbes Dutzend Displays mit MAX7219, angesteuert mit STM32 oder ESP8266 und 3V3 Pegeln, läuft. Ist natürlich nicht allgemeingültig, vor allem da es auch viele Fakes von diesem Chip gibt (die dann vielleicht besser mit 3,3 V klarkommen?). Da ist systematisches
-
Thread
Bootloader Mode STM32F303
Hallo, ich habe neulich einen STM32F303 Mikrokontroller gekauft und möchte jetzt den in Booadmode versetzten. Den Pin Boot0 habe ich auf High geschaltet und den uC neu gestartet. Leider erkennt CubeIDE Progrmmer den nicht über DFU
der nachfolgenden Application note nach, ob Dein exaktes Derivat überhaupt DFU kann. Die meisten F303 können es, aber "STM32F303x4(6/8)/334xx/328xx" können es nicht. In der Application note AN2606 von ST ist alles genau beschrieben: https://www.st.com/resource/en/application_note/an2606-stm32-
-
Thread
[V] STM32F4 Discovery Board
Hallo, ich verkaufe 1x STM32F4 Discovery Board original verpackt und unbenutzt. Preis 15 € zzgl. Porto u. Verpackung. VG Michael
-
Thread
8-Bit CPU Selbstbau
bringen und vielleicht- je nachdem wie gut du drauf bist - hohes Frustrationspotential. Kauf dir ein STM32 nucleo und lerne daran. Das bringt dich weiter. Ansonsten nur meine Meinung. Ich kann Dich durchaus verstehen, glaube viele hatte schon solche Ideen. Aber so alten Kram guckt man sich besser im Museum
von Florian T. schrieb: >Tobias wollte aber eine 32bit CPU bauen, ich nicht. Die Grundlagen sind immer die selben, egal ob 4Bit, 8Bit oder 32Bit. Als erstes brauchst du Logig-Schaltstufen, AND, OR, NAND, NOR. Davon tausende. Die kann kann man mit
-
Thread
ATtiny Typenchaos bei Microchip Gesperrt
M. H. schrieb im Beitrag #7453745: > Das ist in der Tat tatsächlich eher unüblich. Bspw. Die STM32Fxxx Serien > haben immer den vollen RAM und FLASH Ausbau. Bei den AVRs geht das nicht, da kann man mit dem RJMP Befehl um +/-4kB springen und das wird auch ausgenutzt. Man kann damit also von
M. H. schrieb im Beitrag #7453745: > Das ist in der Tat tatsächlich eher unüblich. Bspw. Die STM32Fxxx Serien > haben immer den vollen RAM und FLASH Ausbau. Und den kann man auch > nutzen. Muss man teilweise auch, weil zumindest früher sämtliche Das war bei den Fxxx in der Tat der Fall. Bei
-
Thread
Pull-up/Pull-down beim STM32
Ist das jemand schon mal gelungen? unwahrscheinlich. Das ist Absicht, es steht bei den meisten STM32 ganz offiziell im Reference Manual. Außer bei den STM32G4xx, bei denen kann man immerhin den Pull-Down einschalten.
resistance is minimum (~10% order). [/code] Seite 136 von 240: https://www.st.com/resource/en/datasheet/stm32f429ii.pdf Das Datenblatt eines (ebenfalls zufällig gewählten) STM32G071 sagt auch was von einer "true resistance"... Aber unabhängig von der konkreten Implementierung der Pull-Ups / Pull-Downs
-
Thread
GCC Linker per Linker Script oder über Kommandozeile Parameter zum Setzen einer Konstante mitgeben
zum Ablegen der Checksumme srec_cat benutzt. srec_cat in.hex -intel -crop 0x08000000 0x0803EFFC -STM32 0x0803EFFC -o out.hex -intel Allerdings wird hier ganze Page für 32bit Checksumme verbraucht. Und damit die Checksumme passt, sind -fill 0xFF und -unfill 0xFF Aufrufe notwendig. Viele Grüße
und dazu "objcopy" verwendet. https://github.com/micronucleus/micronucleus/commit/b9b7e85ce887c3ff4f0b38273dcd32e9d9810f8f Nachdem es funktionierte habe ich nicht mehr daran gedreht. Es ging darum, den neuen Bootloader (raw binary) zusammen mit den Routinen zum Nachflashen zu linken. Die passenden
-
Thread
Neuer Arduino Nano, neuer Orange Pi Zero mit bis zu 4GB RAM und mehr
Welt der Einplatinenrechner ist stetig im Umbruch. Wenige Tage nach der Auslieferung des Arduino Uno R4 teasern die Arduino-Entwickler eine neue Variante des Arduino Nano. Shenzhen Xunlong aktualisiert derweil den Orange Pi Zero 3, der nun mit bis zu 4 GB RAM verfügbar ist. STMicroelectronics wandelt mit
evaluation-tools/p-nucleo-53l7a1.html ein um rund € 30 erhältliches Nucleo-Basisboard, das mit dem STM32F401 kompatibel ist. Einzelne Sensoren kosten rund 10 EUR, während das Produkt in Hunderter-Stückzahlen einen OEMSecrets-Bestpreis von 5,5 EUR aufweist (siehe https://www.oemsecrets.com/compare/VL53L7CX
-
Thread
GPS Disciplined 10MHz Referenz
So viele Projekte und keine ahnung welches das Beste ist. @hubertus: was macht der fette STM32F407 da? Ist der auch nur ansatzweise ausgelastet? @DK4XP: Sampling scope habe ich keines, hätte ich zwar gerne, aber bisher nix brauchbares gefunden :-(
#7450750: > So viele Projekte und keine ahnung welches das Beste ist. > @hubertus: was macht der fette STM32F407 da? Ist der auch nur > ansatzweise ausgelastet? > @DK4XP: Sampling scope habe ich keines, hätte ich zwar gerne, aber > bisher nix brauchbares gefunden :-( der ist nicht ganz ausgelastet
-
Artikel
Reichelt-Wishlist
) | | | QFP Bausteine der STM32F4 Serie (Cortex-M4) ST STR7 Serie (ARM7TDMI) * TI MSP430F167, TI MSP430F168 * TI MSP430F2001/2/3 etc. im RSA-Gehäuse (=QFN) | * TI MSP430F2618 | TI MSP430FG4618 | TI MSP430G2553IN20 viele MSP430 Gs
| * PCA9530D 2Bit I2C_BUS LED-Dimmer | | PCA9532D 16Bit I2C_BUS LED-Dimmer | | PCA9533D 4Bit I2C_BUS LED-Dimmer | * PCA9550D 2Bit I2C-BUS LED-Blinker | | PCA9553D 4Bit I2C-BUS LED-Blinker | * PCA9552D 16Bit I2C-BUS LED-Blinker | | Microchip PIC 18F2550 (USB, 32 KBytes Flash) | (bereits im
-
Thread
CH32v003 PWM & Timer Probleme
AFIO-Konfiguration fehlt: Im Register AFIO_PCFR1 müssen die Bits 7:6 auf 01 gesetzt werden, siehe CH32V003 Reference Manual V1.4 auf Seite 60.
devices manufactured by or for STMicroelectronics." https://www.st.com/resource/en/license/SLA0048_STM32CubeF1.pdf.
-
Thread
SPI-Verbindung über differentielles Signal (RS422)
Serienterminierung (nach Empfehlung dieses Forums) verwendet. Angesteuert wird das ganze mit einem STM32. Ich habe meine Schaltung angefügt. Liese sich das so realisieren? Bzw. gibt's dazu Einwände? Danke (Es handelt sich um ein universitäres Projekt ohne kommerziellen Hintergrund) Das ursprüngliche
stromfressenden SN75 sparen und im Kabel wären Adern frei für GND und +24V. Es muss ja auch kein AVR sein, STM32 gibt's auch mit 14 oder 20 Pins. Als Bonus könnte man noch eine Prüfsumme verwenden.
-
Thread
Taktquelle für FDPLL vom AtSamC21
Ja, die Aufteilung auf verschiedene Dokumente ist manchmal schon befremdlich. Auch bei den STM32 muss man immer Datenblatt und RM gleichzeitig im Auge haben, dazu kommt noch, dass aus dem RM bisweilen nur mit viel Herumsucherei hervorgeht, welche Peripherie in welchem Chip nun konkret vorhanden
x86)\Atmel\Studio\7.0\packs\atmel\SAMC21_DFP\1.2.176\samc21\include\instance ADC0_GCLK_ID SERCOM4_GCLK_ID_CORE CAN0_GCLK_ID PTC_GCLK_ID TC4_GCLK_ID
-
Thread
Arduino UNO R4 in Win10 nicht erkannt
größere Aussetzer geklappt (die einzige Ausnahme war eine race-condition in Dan Drowns/Roger Clarkes STM32-Installation). Könntest Du das etwas näher erläutern? Nach meinen bisherigen Erfahrungen werden die Treiber für ein Board in dem Moment eingerichtet, in dem die dazugehörigen Programme und Libraries
#7446864: > Fehlermeldung von dfu-util und den erweiterten Teil von usbview in die > Textdatei UNO_R4.txt gepackt nö hast du nicht in die txt soltest du alles was usbtreeview ausgibt reinpacken. Was ich erkennen kann ist ein Compound Device aus CDC + irgendwas Arduino F. schrieb im Beitrag #7447144
-
Thread
EDT Display Interface mit STM32F7
kann. Das ist natürlich Quark. Mit den passenden Informationen kann man das. Du musst halt den STM32F750 passend programmieren; so, wie es der sehr knappen Beschreibung zu entnehmen ist, ist an dessen integrierten Displaycontroller das Display angeschlossen.
Displays gar nich darüber, > wie das Display am uC angeschlossen wurde. Doch: > The MCU used is STM32F750 Cortex-M7 series with integrated > TFT controller.
-
Thread
Fragen zum STM32F407ZET6 controller board. (steccy usw.)
nicht, um Minderwertigkeitskomplexe zu produzieren. Und das Board, zu kompliziert für mich oder was? Stm32F4xx ist auch keine C oder C++ MCU. Was soll das?
K. schrieb im Beitrag #7444262: > Stm32F4xx ist auch keine C oder C++ MCU. Was soll das? Wieder so ein Satz, der keinen Sinn ergibt, und nur zeigt, daß dir sämtliche Grundlagen -wirklich ALLE- für so ein Vorhaben fehlen.
-
Thread
Arduino Uno R4 im Handel erhältlich
weiteren Pinout-Daten.  Bildquelle: Arduino ### Arduino Uno R4 WiFi – mit ESP32 und LED-Matrix Unter https://store.arduino.cc/products/uno-r4-wifi wechselt die größere Variante um 25 EUR den Besitzer. Neben einem auf einem ESP32-S3 basierenden Funkmodul bringt
Stefan F. schrieb im Beitrag #7444258: > Martin schrieb im Beitrag #7444117: >> Interessant wäre, ob es irgendwann einen Nano R4 geben wird. > > Kennst du Nucleo32 Boards? Die kannst du mit der Arduino IDE
-
Thread
4-Digit LED 7-Segment Anzeigetreiber mit Padauk PFS154-S16
ausreichend Treiberstrom, wie SH79F0819M (140mA) direkt zur Ansteuerung von LED (und dieser auch 4BP LCD) oder der nicht ganz so billige aber leichter beschaffbare PIC16F1764. Der PFS ist also ein wirklich umwälzend billiger uC der
Chips kaufen sollen. Ich hab auch noch Schlagschrauber, Bohrhammer, Kreissäge und Zangen, sowie STM32F0 / F1 /F4 und LPC. MAX7219, TM16xx natürlich auch. Nur PIC und MCS51 habe ich nicht mehr, dafür aber wohl einige 100 Transistoren in NPN, PNP, n-Channel und p-Channel FET natürlich auch. Wenn
-
Thread
DAC mit STM32CubeIDE und STM32F411CEU unter Linux
Schrittmotoren? (2) Wie kann ich die aufgenommenen Messwerte in einem Speicherabschnitt auf dem STM32F411CEU hineinschreiben? Gerne würde ich zudem in diskreten Abständen die komplette Abspeicherung überschreiben.
noch einschlägige Informationen? https://www.st.com/resource/en/user_manual/um1725-description-of-stm32f4-hal-and-lowlayer-drivers-stmicroelectronics.pdf und das Datenblatt und Referenz-manual deines Chip: https://www.st.com/en/microcontrollers-microprocessors/stm32f411/documentation.html Sich
-
Thread
STM32F411CEU + Thermoelement - Erster Versuch eines Datenauslesens -
/stm32/stm32f3.html#analog Timbo2023 schrieb im Beitrag #7440336: > und > den grundsätzlichen Kompetenzaufbau für meine Person? Wenn du seit zwei Tagen versuchst, ein Thermoelement an einem digitalen
machen Radau. Um ehrlich zu sein, erledigt ChatGPT keine schlechte Arbeit... [c] #include "stm32f4xx_hal.h" ADC_HandleTypeDef hadc1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_ADC1_Init(void); int main(void) { HAL_Init(); SystemClock_Config
-
Thread
Wanderkiste Widlar, Runde VI
: 10µF/16V; 22µF/63V; 100µF/6,3V SMD Tantal: 10µF/35V, Gurt SMD 1210: 330nF, 1/4 Reel SMD 1206 - 1,2nF, viele Gurte - 1nF, 3/4 Reel - 22nF, Gurt - 33nF, viele Gurte - 47nF SMD 0805: - 15pF - 26pF - 38pF - 220pF 5%, viele Gurte - 91nF, 1/4 Reel SMD 0603 - 6,8pF, Gurt - 470pF, Gurt Sonderteile Kondensator: - 7.5F/5V - 90F/5.6V Hybrid (Spannung >= 3.2V!)
-
Thread
STM32 EXTI zu langsam
Hallo Ich habe einen STM32F072RB auf einem Nucleo-Board und möchte damit einen I2C-Bus belauschen. Ich verwende die aktuelle Cube IDE. Da die I2C Hardware kein Sniffing kann, wollte ich die Funktion mit externen IRQs realisieren
@arg RCC_SYSCLKSource_HSI48: HSI48 selected as system clock source, applicable only for STM32F072 devices * @retval None */ [/c]
-
Thread
LL-Treiber I2C STM32L4
in LL-Library zu programmieren. Leider ohne Erfolg, ich habe nur Beispiele und Anleitungen für den STM32F4 gefunden. Da ST sich natürlich gedacht hat, beim STM32L4 soll alles besser gemacht werden, heissen gewisse Register anderst, Flags die es beim F4 gibt heissen beim L4 anderst und sind in anderen
überschritten werden. Wenn man die Funktion immer wieder > aufrufen muss. Offenbar hast du dir stm32f4xx_hal_i2c.c noch nie im Detail angeschaut. Deine Aussage ist einfach nicht wahr. Und, wenn du die Funktion ständig aufrufen musst, so, daß sowas überhaupt einen nachweisbaren Effekt hätte, ist
-
Thread
Probleme mit serieller Kommunikation
Blöde Frage: wenn der Dongle mit dem Wyse funktioniert und der Dongle mit dem STM32, dann brauchst Du für Wyse und Stm32 ein Null Modem oder überkreuzte RX/TX Verbindungen? Oder war das von Dir vorausgesetzt und nicht erwähnt?
ist für Ruhezustand richtig. Was passiert am STM32 RX Pin, wenn Zeichen empfangen werden? Du sagtest anfänglich, daß die STM32 Kommunikation mit Dongle funktioniert. Dann müsstest Du von beiden (Wyse und PC) Zeichen empfangen können. Mach mal
-
Thread
ARM M4F FPU: "Lazy stacking" und "Automatic stacking"
Hallo, ich habe ein paar Fragen zum M4F, Lazy Stacking und Automatic Stacking: *Allgemein:* • Warum sind S0..S15 als Caller Caller Saved Registers“ und S16..S31 als “Callee Defined Registers” definiert. Was ist der Hintergrund und wie
Tobias P. schrieb im Beitrag #7436580: > Also, bei der Cortex M4 FPU hat sich ARM ja nicht lumpen lassen und 32 > Register spendiert. Warum hat die CPU nur 16 Register? gibts dafür einen > technischen Grund? der AVR hat ja auch 32. Naja, beim AVR belegt ein
-
Thread
STM32 Win10 COM-Treiber
Ich glaube ich habe das USB Problem gefunden STM: STM32F103C6T6A STM32F103C8T6 Program Memory Size: 32 kB 64 kB Data RAM Size: 10 kB 20 kB Interface Type: I2C, SPI, USART
Wo hast du diese Info gefunden? Laut Datenblatt hat der STM32F103x6 ein USB 2.0 Interface. Ohne dieses würde der Maple Bootloader nicht funktionieren. https://www.st.com/resource/en/datasheet/stm32f103c4.pdf
-
Thread
Wassertemperatur Logger mit Lora?
auch noch ein Übertragungsprotokoll (z.B. LoRaWAN). Guter Einwand. Ich habe mir deswegen zwei STM32WL55JC (ob 1 oder 2 weiß ich gerade nicht) gekauft und habe sie mall auf Reichweite getestet: über 200m in dicht bebautem Gelände und nicht wirklich optimal ausgerichtet. Das Projekt ist aber eingeschlafen
wäre das was, wenn du LTE verwenden möchtest: > https://www.sparkfun.com/products/15087 Sara-R4 hatte ich auf meinem anderen Projekt, das ganz gut funktioniert hat. Hab gerade mal Schaltplan und so durchgeschaut und denke, ich bau das Ding um. Stromversorgung war ganz gut gelöst und die STM32L
-
Thread
[S] C64 im Bereich Berlin-Köpenick
getting there is half the fun: Z80-MBC2 (ist ein CP/M-System), einen ATMega32 als IO-Knecht, 128kB RAM. Terminal brauchst Du, Putty ist aber gut fuer Dich: https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer https://github.com/SuperFabius/Z80-MBC2
einarbeiten", egal in welchen. Ich tendiere da zu den AVRs (mit denen bin ich schon sehr fit) oder die STM32 ARM Cortex M0/M3 wenn's etwas mehr Rechenleistung sein darf, aber für beides muss man erstmal die Zusammenhänge zwischen elektrisch arbeitender Hardware und dem Programm verstanden haben. Edit:
-
Thread
Strommessung im µA-mA Bereich - Automatischen Umschalten, Ansätze, Fragen
Das kann ein STM8L-Discovery und auch manche STM32-Discoveryboards (z.B. STM32L152) schon fast O.O.B. incl. Anzeige. Muss man nur ein wenig "umverdrahten". :) Den integrierten ST-Link zieht man ins Reset, damit
tut es ja auch ohne > kaskadierende Differenzverstärker Die Schaltung wurde so aber auch bei den STM32L recyclet.
-
Thread
STM32U599 reagiert nicht: Keine Funktion auf dem Custom Board
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) https://www.st.com/resource/en/reference_manual/rm0456-stm32u5-series-armbased-32bit-mcus-stmicroelectronics.pdf (Kapitel 7.3.3) Oh, ich sehe gerade dass bei diesem Modell auch eine "latency" für das RAM eingestellt werden muss (Kapitel 6.3.4). Das scheint
generiert, weil das die Standardvorgabe ist. Und FLASH_LATENCY_1 passt wohl denn du nutzt "Vcore range 4" mit 16 MHz. Die Latencies sind dann wohl nicht deine Problemursache. Ich hatte darauf getippt, weil das bei meinen ersten Versuchen (mit anderen STM32 Modellen) oft der Knackpunkt war, wenn das Programm
-
Thread
Treiberentwicklung für 32-Bit-Mikrocontroller
Gibt es eine Treiberentwicklung ausschließlich, wenn man ein RTOS hat? Beispiele findet man zu STM 32 HAL? https://www.youtube.com/watch?v=qNLE3yK2k7Q Gibt es so etwas auch auf Deutsch? (Dieser Ultra FX oder wie der hieß, hatte er nicht damals zu diesem Thema einiges produziert?) Und werden
beantworten. Fange nochmal von vorne an: Max schrieb im Beitrag #7427156: > Treiberentwicklung für 32-Bit-Mikrocontroller Stefan F. schrieb im Beitrag #7427187: > Was ist denn für dich ein Treiber? Arduino F. schrieb im Beitrag #7427305: > Definiere: "Treiberentwicklung" Stefan F. schrieb
-
Thread
Absicherung Board und USB
Möglichkeit haben ein zweites USB device anzuschließen, z.B. ein LCD). Auf dem Board befindet sich ein STM32 an dessen Pins man Buttons, Schalter, Encoder etc. anschließen können soll. Soweit alles klar und funktioniert auch, die Frage die ich mir Stelle ist: In wie weit muss man die Eingänge absichern
den SimRacing-Gebrauch. Als Basis diente ein T500RS. Dort hatte ich ein Aufsatz mit einem Mega32U4, einem HUB Chip und einer (aus dem Motorrad-Bereich) Drehzahlmesser und Geschwindigkeits Combo. Müsste auf YouTube noch ein paar Videos haben, muss mal schauen. Ich hatte alles ohne Schutzdioden
-
Thread
STM32 counter up/down mit Step/Dir Signalen
manual https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjph_XQ3qT_AhXWv4sKHfncAGwQFnoECBsQAQ&url=https%3A%2F%2Fwww.st.com%2Fresource%2Fen%2Freference_manual%2Fdm00119316-stm32f411xc-e-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf&usg=AOvVaw0C62LHdBLeEzv0gu85BWOe
nicht auf 5 Kanäle skalierbar, weil das Routing für die Zählereingänge doch arg beschränkt ist und die STM32F4-Serie eh nur 8 Zähler hat.
-
Thread
[STM32L0] "Python-kompatibler" I2C Slave
Guten Nachmittag, ich quäle mit mit STM32L011 und HAL und dem I2C Slave. Im Grunde hätte ich einfach nur gerne eine Implementierung (stures polling wäre supi, weil der Rest in Interrupts läuft), die kompatibel zu: i2c.write_i2c_block_data
Byte lesen" einzeln reagieren musst. Das läuft dann oft auf eine Zustandsmaschine hinaus. Der STM32L0 unterstützt anscheinend DMA für I²C, aber ich weiß nicht, was passiert, wenn der Master nicht genau so viele Bytes liest oder schreibt, wie du fürs DMA konfiguriert hast.