-
Thread
Keil RTX5 auf STM32G070 lohnt sich überhaupt?
Hallo Leute, ich möchte den footprint von RTX5 von Keil auf einen STM32G070 ausprobieren. Angeblich code-size: ca.5KB (RAM=???). Dafür hab ich ein leeres Projekt mit RTX erstellt (siehe source code). Das Ergebnis ist erschreckend: ZI-Data sehr hoch
@Johannes Vielen Dank für dein Statement. Der STM32G070 hat 128KB Flash und 36KB RAM. Es geht um den RAM-Verbrauch. Da meine Application auch viel RAM benötigt. Bevor ich starte, möchte ich gerne eine Übersicht wieviel RAM ungefähr von RTX gebraucht
-
Thread
VCF für μC-Synthesizer
128 Bit. das heißt aber nicht dass Permanent 128 Bit übertragen werden. Es können auch nur 64 Bit 32 Bit oder gar nur 4 Bit + die Zeitinformation übertragen werden. Das heißt wiederum Gaaaanz grob wen ein Audiosignal aus 5 Minuten dem selben Pegel bestehen würde, (Ruhepause oder was auch immer) werden
#5060587 Auch wenn man das noch etwas aufblaest, wird das immer noch locker in irgendeinen popeligen STM32 oder sowas mit moeglichst angeflanschtem Audio-ADC/DAC/Codec reinpassen. Und dann laeuft nix mit der Temperatur weg. Frequenz und Guete kann man auch voellig unabhaengig voneinander einstellbar machen
-
Thread
USB UART Kommunikation STM32
einen Computer verzichten muss, möchte ich dies Über einen Mikrocontroller lösen. Hierzu habe ich ein STM32F767ZI gewählt. Die ECU verfügt über einen männlichen USB-A anschluss, an welchen ich eine USB weiblich-weiblich Kupplung angeschlossen habe. An diese wiederrum habe ich einen "DSD TECH SH-U09C5 USB
...evtl könnte dir folgendes weiterhelfen: stm32 als USB cdc host https://controllerstech.com/usb-cdc-device-and-host-in-stm32/ Ich schätze das dein Gerät eine USB CDC node darstellt und dafür bräuchtest du als "Gegenstück" auf deinem stm32
-
Thread
Freescale Freedom-Boards (FRDM-KL2xZ) veraltet? Alternativen?
ein modernerer μC von NXP andere Hardware hat. Damit wäre es leichter, den Kram zu portieren. K. H. schrieb im Beitrag #6790616: > Mit STM32Fxxx habe ich schon ein paar Projekte bearbeitet Oder mach' gleich mit denen was, da gibt es auch nette Evalboards. mfg mf
das Zeug Ende letzten Jahren/Anfang dieses Jahres den open-source FAT-Treiber von Elm-Chan auf einem STM32F030 am SPI-Port zum laufen gebracht. :]
-
Thread
STM32F0 Stromverbrauch im Stop Mode
Spannungsregler im Low-Power Mode die Stromaufnahme bei max. 32 µA (IDD) und 3,5 µA (IDDA mit eingeschaltetem VDDA Monitoring) liegen. Insgesamt also im Worst-Case 35,5 µA. Zur Aufnahme der Messwerte sagt das Datenblatt folgendes: [i]The MCU is placed under the
anderes Multimeter zeigt einen ähnlichen Wert (150 µA). Hier der verwendete Code: [code] #include "stm32f0xx.h" #define WFI 1 #define WFE 2 #define LOW_POWER 1 #define NORMAL 2 void PWR_Enter_Stop_Mode(uint8_t mode, uint8_t Regulator_State); int main(void) { //Takt für GPIOs aktivieren
-
Thread
ILI9486 8-Bit Parallel Bus deutlich langsamer als SPI
Beitrag #6789873: > RAM direkt per DMA schreiben Ich muss sagen ich arbeite noch nicht lange mit den STM32 Controllern. Etwa vor 1,5 Monaten habe ich mit einem Nucleo-64 STM32F446RE angefangen. Daher kenne ich mich mit den ganzen Bereichen die der Mikrocontroller bietet noch nicht so gut aus wie zB. bei
das auch mit den 300kBytes. Trotzdem noch viel zu viel > für die meisten MCUs Wenn Du schon bei STM32 bist, dann böte sich ein H750 mit 1 MB RAM an. Vor einiger Zeit waren die noch für rund 5 € zu bekommen. Zur Zeit sagen aber alle Preise: kauf mich nicht! Oder man nimmt eben ein fertiges Board.
-
Thread
Threadsichere Bitmanipulation mit Bitbanding
State = &WarnState; #if defined( STM32F4XX ) /* Auf STM32 Bit threadsicher ueber Bitbanding-Region sichern Bitbanding: Abbildung des Speicherbereichs 0x20000000-0x200FFFFF auf den Bereich 0x22000000-0x23FFFFFF
warning_remove(enum warning_e wrn) { WarnState_t *const State = &WarnState; #if defined( STM32F4XX ) while(wrn) { int32_t bitNo = BBitOfMask(wrn); /* Erstes Bit der Maske */ BBSram1Bit(State->this, bitNo) = 0; /* Bit ueber Bitbanding-Region loeschen
-
Thread
STM32H743ZI Nucleo SPI1 mit HAL funktioniert nicht
Ich probiere nun seit bestimmt 8h rum aber ich schaffe es nicht, SPI1 auf einem Nucleo-144 mit STM32H743ZI zum laufen zu bekommen. Das ist die wesentliche Konfiguration: [code] __HAL_RCC_SPI1_CLK_ENABLE(); __HAL_RCC_I2C1_CLK_DISABLE
unwahrscheinlich dass "das Objekt mit dem spi_handle" zerstört oder ungültig gemacht worden ist. Aber: PB5 (soll ja MOSI sein) kommt zweimal als Pin vor. Siehe UM1974 Seite 30 --> 6.12 Solder bridges und Seite 66ff --> Table 20. NUCLEO-H743ZI pin assignments Es könnte da ein Konfigurations- oder
-
Thread
STM32 I2C EEPROM lässt sich lesen aber nicht beschreiben
Beitrag #6784809: > Das einzige was mir wirklich bei den beiden Schreibzugriffen zwischen > AVR/STM32 auffällt ist das dass der ACK beim STM32 nur 1us statt fast > 10us wie beim AVR dauert. Nein, ich glaube du verwechselst ACK und NACK. I²C ist open-drain, d.h. wenn der Gegenpart nicht antwortet
dieses der einzige Unterschied zum AVR Bild ist. Beim AVR-I2C ist der ACK 10us lang und geht direkt auf 5V hoch. Bei dem STM32 nur für 1us auf 3,3V der Rest ist 0,6V. Allerdings wenn ich von einer EEPROM Adresse lesen möchte sieht das Signal und auch das ACK Bit genauso aus. Und da scheint es ihm ja wohl
-
Thread
Professioneller Debugger für STM32
von der CubeIDE nur den GCC und die Binutils. Als Editor den UE Studio, als Build-System ein durch STM32CubeMX generiertes und anschließend händisch deutlich aufgebohrtes Makefile, und als Debugger einen Lauterbach TRACE32.
Debugger schrieb im Beitrag #6784484: > Was nehmt Ihr? ST-Link + STM32CubeIDE
-
Thread
welche Signalfilterung für meine Messdaten?
Linux ist halt kein Echtzeit-OS. Vorschlag: nimm einen Mikrocontroller, z.B. irgendeinen kleinen STM32 den Du grad zur Hand hast. Dort auch keine Interrupts nehmen, sondern 2 Timer. Der eine als Referenz, hochgezählt mit dem Takt des Mikrocontrollers (oder einem Teiler davon), der andere zählt immer
E. schrieb im Beitrag #6784128: > Vorschlag: nimm einen Mikrocontroller, z.B. irgendeinen kleinen STM32 > den Du grad zur Hand hast. Dort auch keine Interrupts nehmen, sondern 2 > Timer. Der eine als Referenz, hochgezählt mit dem Takt des > Mikrocontrollers (oder einem Teiler davon), der andere zählt
-
Thread
C Präprozessor: Zeichenketten vergleichen oder anderes enum-ähnliches Konstrukt?
TIM7_IRQHandler #define BUZZER_PWM 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 /* Grafik-LCD: 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
-
Thread
Günstige MCU dev boards geeignet für Leistungselektronik
Danke. Die H-Brücken des HVC4223f sind ganz praktisch, aber in meinem Fall sollen externe H-Brücken untersucht und benutzt werden. Dann scheint TI wohl ganz anständig. Am meisten sagt mir das C2000 PICCOLO Launchpad
Cktors C. schrieb im Beitrag #6782845: > Danke. Die H-Brücken des HVC4223f sind ganz praktisch, aber in meinem > Fall sollen externe H-Brücken untersucht und benutzt werden. Dann > scheint TI wohl ganz anständig. Am meisten sagt mir das C2000 PICCOLO
-
Thread
zukunftsfähige GUI - Qt oder HTML5?
laufen soll, vieleicht dann mit kleinem Display? dann währe die Frage ob es nicht auch ein µC (z.B.stm32F7xx) tut, darauf könnte man dann z.B. mit TouchGFX oder QT for uC oder oder oder etwas zusammenbauen. Oder wenn es etwas komplet fertiges (und u.a. arduino programmierbar) sein soll, vieleicht ein
aufwändig ist lvgl, dafür läuft es auch auf µC. Es hat auch schöne Widgets und ist auf einem z.B. STM32F769 auch schnell (trotz 32 Bit Farbtiefe und 800 x 480 Pixel Display). Siehe Anhang mit einer lvgl Demo auf dem F769 Disco. Auf der lvgl Seite im Blog ist auch ein Beitrag wie man es auf einem RPi
-
Thread
STM32F1 HAL UART Senden nicht
auf 3,3 V. Was übersehe ich? Fehlt was? Warum wird nichts gesendet? Programmer: ST-LINK/V2 IC: STM32F103RBT6 Board: Olimex P103 https://www.olimex.com/Products/ARM/ST/STM32-P103/ https://www.olimex.com/Products/ARM/ST/STM32-P405/resources/STM32-P103_P405_sch.pdf Programmierumgebung: Visual Studio 2019 mit VisualGDB 5.5R5 build system: Ninja Sollten noch Infos fehlen, reiche ich die gerne nach! Danke für eure Hilfe :)
-
Thread
Renesas RX111
Also ich habe einen einfachen NXP M0, da sind das 600 Seiten. Und dann habe ich einen komplexen STM32H7 da sind das schon 3500 Seiten. Da liegt der Renesas doch gut in der Mitte. So ist das heutzutage. Ein Exot ist der schon. Low-Entry macht noch Atmel, der Rest Arm. Und Risc-V erscheint erst
etwas lästig. Mein letztes Datenblatt zum RX111 ist von 6/2013. Heutige ARM-Controller (z. B. STM32) haben in den letzten Jahren deutliche Verbesserungen erfahren, sodaß diese für viele Anwendungen deutlich leistungsfähiger sind. Einen 32-Bit Zähler mit Quadraturdekoder bietet der STM32G431 beispielsweise
-
Thread
System on Module für Mobilgerät?
und Konsorten von vornherein ausgeschlossen, da müsste man alle 4 Stunden Akku aufladen... Einen STM32 F/H7 Mikrocontroller habe ich auch in Betracht gezogen, allerdings ist da die USB-Hardware etwas beschränkt was die Anzahl Endpoints angeht und die Treiber für WLAN und LTE-Modem müsste ich erstmal
Schau Dir mal die Teile von Octavo Systems an. https://octavosystems.com/ Die haben Module für STM32MP1x und für TI AM3358 (quasi ein Beaglebone als Chip). Die Module beinhalten alles lebensnotwendige, inkl PMIC und RAM, d.h. die kritischen Sachen sind bereits erledigt. Der hier https://octavosystems.com
-
Thread
AVR128DB mir 3-wire SPI
dadurch leicht austauschbar. Und wenn man eh so viel neu lernen muß, dann kann man auch gleich zu STM32 oder LPC wechseln.
Vielleicht wäre es falsch, AVR-Serie als etwas Großes zu betrachten, dafür gibt es ATXMega und STM32 usw. Aber dort, wo man früher gerne ATMega328 oder ATMega1284 genommen hat, wird AVR128DB einige Verbesserungen bringen. Klar: 0,5 mm Pinraster ist etwas schwieriger zu löten als 0,8 mm. Aber Mikroskop
-
Thread
Transimpedanzverstärker mit einstellbarer Verstärkung
Due to the input sampling, an LTC6915 may produce aliasing errors for input signals greater than 1.5kHz (one half the 3kHz sampling frequency). However, if the input signal is bandlimited to less than 1.5kHz then an LTC6915 is useful as instrumentation or as a differential to single-ended AC amplifier
Triggersignal (die roten Strich in den Plots): während ein Puls abgegeben wird, fällt ein Triggersignal von 5V auf 0V, und geht nach dem Puls wieder auf 5V, dies habe ich bisher nur für den Mikrocontroller (STM32) genutzt (um nur während dieser Zeit, die Werte zu digitalisieren). Die Zahlen in den Plots sind
-
Thread
Atmel ICE Frage
Garkein Troll hier, dann übernehm ich das ;-) Kauf dir lieber einen STLinkV2 und benutze STM32^^
> Garkein Troll hier, dann übernehm ich das ;-) > > Kauf dir lieber einen STLinkV2 und benutze STM32^^ Da funktioniert ja alles;-) Aber AVRs sind meine zweite Liebe...
-
Thread
Birulki: Linux am ESP32, Arduino-USB PD-Netzteil, ESP 32-Spielkonsole.
ausreichend umfangreich sein, verdienen nach Ansicht des Autors aber Aufmerksamkeit. ### Linux 5.0 „läuft“ am ESP32. Linux kann - Stichwort Yocto - auf Systemen mit sehr geringen Ressourcen produktiv nutzbar sein. Der unter https://www.reddit.com/r/esp32/comments/om106r/boot_linux_500_on_esp32/
als der Lora-E5, kostet aber nur $ 5,99 in Einzel-Stückzahlen.  Sonst ist er aus technischer Sicht ähnlich - als Hauptprozessor kommt ein STM32WLE5JC zum Einsatz, der 256 kB Flash
-
Thread
Universalplatine für STM32, grobe Fehler vor der Herstellung?
Bauteile für ein Exemplar habe ich trotz Chipknappheit inzwischen da :) Eigentlich wollte ich einen STM32F412 oder STM32F13 einsetzen (da hatte ich auch ein Nucleo Board vorher gekauft), aber die waren schon im April ausverkauft und die STM32L die einzigen noch verfügbaren mit genügend RAM und passendem
der Bootloader nicht funktioniert. Autsch, ja das hätte ich mindestens für den primär angedachten STM32L4 überprüfen müssen... Zwei gleichzeitig gesetzte ChipSelects wären fatal. Wenn du möchtest überweise ich dir die 5€. MiWi schrieb im Beitrag #6765156: > eine 3-Loch-Befestigung in einem Gehäuse
-
Thread
ARM-GCC: No strict alias
uint16_t len) { SPI_TypeDef* SPIx; DMA_Stream_TypeDef *DMA_StreamTx, *DMA_StreamRx; uint32_t DMA_FlagTcif_Tx, DMA_FlagTcif_Rx; switch( SPI_HARD_DMA ) { case spi_hard_none: /* Keine Hardware-SPI-Unterstuetzung */ return; case spi_hard_STM32F4XX_SPI1
; 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
DC Watt Meter / Power Analyzer
Paul H. schrieb im Beitrag #6759833: > Aber die Komponenten, die du genutzt hast, kannst du uns schon gerne > verraten :) Die Basis ist ein STM32H7, genutzt werden die internen ADCs über isolierte Opamps
aber ich denke das der > limitierende Faktor die Datenverbindung von 20MBit/s ist, das sollte der > H7 schaffen. In jedem Fall würde ich empfehlen externe ADCs zu > verwenden. Wird der H7 locker schaffen und wenn nicht: STM32MP1 mit A7 800MHz im Dualcore ;) Man muss ja auch nicht dauerhaft rechnen
-
Thread
MCP2515 lässt sich nicht konfigurieren sonder geht in Sleep?
Hallo zusammen! Ich versuche gerade einen Mikrochip MCP2515 mit einem STM32G0 zu programmieren. Dazu versuche ich - ganz grundlegend - den MCP2515 in den Configuration Mode zu setzen. Der STM32 sendet dabei die folgenden Kommandos, siehe auch Logic Analyzer Screenshot
Andras H. schrieb im Beitrag #6758656: > Was soll das mit der A0? Die Signale gehen nur bis 1V? Ist das so > gewollt? Ich würde meinen, dass es das analog 0 Signal seines LA/MSO ist auf das er das CS gelegt
-
Thread
genaue Zeitmessung (hohe Auflösung + Genauigkeit) STM32
https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32g4-series/stm32g4x4.html
Beitrag #6756892: > https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32g4-series/stm32g4x4.html Damit würde die Auflösung möglich sein, die Genauigkeit wäre immer noch um Welten zu schlecht.
-
Thread
Farnell: Land unter durch Brexit?
Farnell-Startseite: Currently orders are > on hold. Wenn's nur das wäre ... Vor ein paar Tagen ein paar STM32H750 bestellt, erst kommt die Mitteilung Versand 30.08.2021, und gerade eben eine neue mit Versand Ende Juni 2022. Gr#+78 ...
//lcsc.com/product-detail/ST-Microelectronics_STMicroelectronics-STM32H750VBT6_C404010.html
-
Thread
Hands-On mit Qt for MCUs – QML-Parser ohne Komfortfunktionen
Tam H. schrieb im Beitrag #6755497: > im Vergleich zu “klassischem C++” ist Qt zugegebenermaßen bequemer "Im Vergleich zu Apfelkompott enthält Spanferkel zugegebenermaßen mehr Birnen und ist gleichzeitig
Tam H. schrieb im Beitrag #6755896: > Das stimmt. Wobei: heutige Controller sind im Bereich GUI immense > "Powerhouses". Die kleine Trottel-Demoapplikation (siehe > https://www.instagram.com/p/CRPMKKnnhwd
-
Thread
ARM Cortex M4F: Arglos in die Unalign-Falle
das komplett glimpflich abgelaufen. Es gibt allerdings eine Funktion in den Modultests auf dem STM32F446RE, bei dem ich überhaupt nicht verstehe, wie und warum die unalign-Falle hier zuschnappt. Der Quelltext: [c] uint16_t crc16_calc(const uint8_t *buffer, uint8_t buffersize); TEST
\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 (
-
Thread
Stm32 lcd Grafik font rendering
display zeichnen. Ich wollte zuerst adafruitGFX auf einem esp8266 benutzen, hab aber gehört, dass der stm32 einen grafikbeschleuniger hat. Da hat direkt mein innerer Perfektionist zugeschlagen. Welche stm32 haben den und könnte ich den nicht verwenden um Speicher für die fonts im internen Flash sparen
hier gibt es eine GUI Library: https://lvgl.io/ Ist Open Source auf Github, Beispiele für STM32, NXP und ESP findet man auch im Repo vom Autor. Der 'Grafikbeschleuniger' im STM32 ist ein besserer DMA, der kann Offsets im Grafikspeicher berücksichtigen, Formate beim Transfer konvertieren und
-
Thread
Rs485 Kollisionserkennung und Kollisionsvermeidung
einzuziehen wo sie gebraucht werden. Wenn ich hat bock drauf habe, schau ich mal, ob ich nicht einen stm32 dazu bringe von eine externen Flash zu booten und da ein kleines rtos drauf laufen zu lassen. Can wäre eigentlich unendlich viel besser geeignet, aber da muss man ja auch wieder was ändern.
dass ich davor viel für mich selbst an mobilen sensor Netzen gespielt habe und da nur esp8266 und esp32 programmiert habe. Außerdem ist seine Anforderung ein touch Display mit einer ansprechenden ui, so dass - vorausgesetzt man hat kein intelligentes Display wo wieder ein stm32 oder so drauf steckt
-
Thread
[V] Alte DIL Rechner Chips.. Gesperrt
stelle Dir vor hier würde jemand einen STM32F7xx anbieten - Du würdest glatt ein 1300 Seiten Manual dazu einfordern weil Du nicht in der Lage bist bei Interesse selber nach einem Manual oder Datasheet zu suchen. Google kaputt? Ich denke mal
Tom D. schrieb im Beitrag #6754871: > stelle Dir vor hier würde jemand einen STM32F7xx anbieten Dann wäre ich arg verwundert, weil ich nicht wüsste, ob er einen 32f746 oder einen 32f723 loswerden will. Tom D. schrieb im Beitrag #6754871: > Du würdest glatt ein 1300 Seiten
-
Thread
ARM-Assembler: Takte zählen
Die Funktion sieht so aus: [code] .syntax unified .cpu 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
%function .global TIM6_DAC_IRQHandler TIM6_DAC_IRQHandler: @ Profiling 1 push { r4-r5 } 2 ldr r4, =DWT_CYCCNT 2 ldr r5, [r4] @ IT pending Bit loeschen TIMx->SR = (uint16_t)~TIM_IT; 2 ldr r0, =TIM6_BASE 2 ldr r1, =~TIM_IT_Update 2 str r1, [r0, #TIMx_SR]
-
Thread
Anfang mit STM32. Wie habt ihr es gemacht?
Hallo Community, Ich hätte da mal ein paar Fragen zum STM32 und drumherum. Ich habe mir letzte Woche ein Nucleo-64 Board bestellt. Auf diesem ist ein STM32F446RE Mikrocontroller verbaut. Ich möchte erstmal ein paar Erfahrungen mit der MCU/STM32 allgemein sammeln. Ein konkretes Projekt welches ich jetzt unbedingt mit dem STM32 umsetzten möchte habe ich nicht. Bisher habe ich mich die letzten 5 Jahre nur mit den ATMegas und ATTinys von Atmel beschäftigt. Was mich besonderes an den STM32 interessiert ist der DAC, CAN
-
Thread
5V auf 3.3V für uC
keinen Tiefsetzsteller mit Spule. Das wurde Dir bestimmt auch nicht so in "Foren" empfohlen. Für 5V->3.3V und unter 100mA gibt es passende Festspannungsregler, auch in Steckbrett-/Bastlerfreundlichen Gehäusen. Bei Reichelt z.B. "L78L33ACZ STM". LM1117-3.3 benötigt fast genau die 5V Eingangsspannung
Chris F. schrieb im Beitrag #6754983: > Für 5V->3.3V und unter 100mA gibt es passende Festspannungsregler, auch > in Steckbrett-/Bastlerfreundlichen Gehäusen. Bei Reichelt z.B. > "L78L33ACZ STM". Auf der Seite 5 im Datenblatt steht, dass für
-
Thread
ARM-GCC versteht den Witz nicht.
0" [/c] (das Ganze in einer ansonsten nackten main() und mit dem Debugger das Ergebnis auf einem STM32F103C8RB angeschaut.) ARM-GCC 5.4.1 -O3: a ist false ARM-GCC 5.4.1 -Os: a ist true Aber nicht nur das. Es wird für den Ausdruck auf der rechten Seite tatsächlich Code generiert: [code]
[c] #include <stdio.h> #include <stdlib.h> #include <string.h> #include <inttypes.h> int main(int argc, char* argv[]) { char *p1="100"; char *p2="0"; volatile int a = p1 + 2 == p2;
-
Thread
Cortex M3/M4: ISR overhead
Das unstacking wird wohl mindestens noch einmal 12 Takte benötigen. Oder mehr? Wenn ich auf einem STM32F446 mit 168 MHz eine ISR mit 1 MHz und einer NOP-Instruktion aufrufe - welche Auslastung habe ich dann? [code] Stacking + Prefetch: 12 Takte * 5 Waitstates NOP: 1 Takt Unstacking
Warum eigentlich 5 Waitstates? Die 5 Waitstates gelten doch für das Lesen aus dem ROM, aber der Stack wird doch wohl hoffentlich im internen RAM mit 0 Waitstates liegen. Also 5 Waitstates für das Holen der ersten Instruktion
-
Thread
SOMFY J4 IO raffstore motor controller Reparatur
schrieb: > Eine Nähmaschine fährt auf 1/10mm genau. Die Nadelposition läßt sich händisch in 0,5mm Einheiten über 6,5mm einstellen, wieviel Schritten das aber beim Motor entspricht, kann ich nicht sagen. Ich habe seinerzeit jedenfalls (glaub ich) 1,7mm aufgebaut, 1,0+0,5+0,2mm, das entspricht
solang er kein rauchzeichen abgibt. ja der gut HAL, leider heißt bei mir beruflich viel "HAL" - STM32 HAL usw. hab ich mich einfach verschrieben. Ich werd auch nochmal ein par scope screens ziehen nach meinem Urlaub. die HALL Sensoren werden durch die MCU zyklisch eingeschaltet, also sind nicht
-
Thread
STM32 der Wordclock12h nicht per OTA flashbar
beide Komponenten die Version 2.9.5. Versuche ich jedoch ein OTA (um den STM32 erneut zu flashen), so bleibt der Vorgang an dieser Stelle stehen: [code] Updating STM32 firmware... Downloading wc12h-stm32f103-ws2812-grb.hex... done
Neue Erkenntnis: Beim ziehen des RESET-Pins des STMs geht der ESP baden (crash oder reset). Trenne ich die Leitung im RESET-Pin komme ich im Programm einen Schritt weiter: [code] Updating STM32 firmware... Downloading wc12h-stm32f103-ws2812-grb.hex
-
Thread
Effizientes Zero-Stuffing in C
speziell dafür entwickelt. Das reduziert das ganze auf ein IC, angesteuert mit /Rd, /Wr, 16 DI und 32 DO, kann 5 oder 3,3V bei bis zu 33MHz. Ist im TQFP48 erhältlich, also relativ platzsparend. Oder man baut die Funktion nach, z.B. mit 6 Schieberegistern, I²C- oder SPI-Portextendern oder (so vorhanden
dummes > 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
-
Thread
Was sagt der ERS-Wert bei Schwingquarzen aus?
00949a.pdf https://www.st.com/resource/en/application_note/cd00221665-oscillator-design-guide-for-stm8afals-stm32-mcus-and-mpus-stmicroelectronics.pdf
Quarzes besteht aus Ls, Cs & Rs in Reihe, dazu parallel Cp. Typ. für einen 3MHz-Quarz: Ls = 0,32 H, Cs = 0,0088 pF, Rs = 100 Ohm, Cp = 5 pF Daraus ergibt sich 2,999 MHz (Serienresonanz) bzw. 3,002 MHz (Parallelresonanz). Bei beiden ist die Impedanz real (die Ortskurve schneidet x-Achse
-
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
%252Fr6LyhPiWsYvFucui8oGQs4Kr5x2fmg%252Bk53olpZYN4A1kDm78FFEb7Y2y83H9NqG9ugilYjMNMGQxbzIUrJAKzo2RBI%252FXpnn5f7EWJuO1GgDp5V8eWR4DMREnD6I4iEjbPFnMpNV2RDbBpU8EEpr%7Campid%3APL_CLK%7Cclp%3A2334524 [code] Item Description: