-
Thread
HAL_GPIO_TogglePin, benötigte Zeit für ein STM32F7.
Hallo, ich habe folgenden Code, für ein STM32F746 Board. Die LED toggelt dabei ca. alle 350ns (d.h. eine Frequenz von ca. 3MHz). Ist das nicht zu langsam? Systemclock sollte 200MHz sein.... Gemäss ClockConfig sollte die Peripherie (APB) mindestens im Bereich 50MHz oder höher laufen...?? [c] while (1) { //HAL_Delay(500); HAL_GPIO_TogglePin(GPIOI, GPIO_PIN_8); //LED 101 } [/c]
-
Thread
Phasenanschnitt funktioniert nicht richtig
3000 && dma < 3250) time= 30; else if(dma >= 3250 && dma < 3500) time = 20; else time = 0; return time; } [/c] Ein Wort zum Code: wenn dma nicht kleiner 250 ist, dann ist dma automatisch größer oder gleich 250. Du kannst dir die Afrage auf >= also jewils sparen: [c] : if
time = 40; else if(dma < 3250) time = 30; else if(dma < 3500) time = 20; else time = 0; [/c] Und wenn man das gemacht hat, dann fällt einem die Unregelmäßigkeit bei 250-500-1000-1250 direkt ins Auge: warum fehlt da 750? Und am anderen Ende ist bei 40-30-20-0 auch eine Stufe drin:
-
Thread
Wo sucht man Microcontroller nach IO-Anzahl, Takt und Funktionen aus?
nutzt dann deren Seite fürs parametrische Suchen/Filtern. Man schaue sich z.B. mal die Liste für STM32 an. Da kann man genau nach den Parametern des TE filtern. Und wenn es zu Taktraten kommt, würde ich ganz schnell weg von AVR gehen. Bei STM32 machen schon die kleinsten zwischen 48 MHz (F0) und
c-hater schrieb im Beitrag #7075041: > Cyblord -. schrieb im Beitrag #7073414: > >> Und wenn es zu Taktraten kommt, würde ich ganz schnell weg von AVR >> gehen. Bei STM32 machen schon die kleinsten
-
Thread
Wo werden Port A-Register für die Pins 13 und 14 konfiguriert, um SWD zu konfigurieren?
Gefunden in der Beschreibung des Moder Registers Reset values: 0xA800 0000 für Port A. Ich habe das STM32 ST-LINK Utility durchlaufen, die gelöschten Bits im Moder-Register (GPIOA->MODER=0;) werden tatsächlich wiederhergestellt. Der Zugriff über die IDE auf den
eine > Nucleo-Boards oder so? Nein, dies ist die Dokumentation des exakt gleichen Boards wie meines STM32F407 https://www.st.com/resource/en/user_manual/dm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf A. B, schrieb im Beitrag #7072144: > Pins vom STLink auf > dem Board nicht benötigt
-
Thread
Zener Diode Bezeichnung im Datenblatt VZ1 / VZ2
werden. Ja, das wäre auch noch eine Idee mit den 2 Dioden gegen VCC und GND. Danke! Es wird ein STM32G4. BTW: hab jetzt die Diode mal ausgelötet und bekomme die 3.3V. Grüße
auch komplett ohne die Schottky-Diode, wenn du den > Spannungsteiler so hochohmig auslegst, das die µC internen Schutzdioden > das aushalten. Das steht auch alles im DB deines µC. und: > Es wird ein STM32G4 sowie > bis 60V U_in: eine Begrenzung <1mA schafft der STM32G4 mit den interne
-
Thread
Warum gehen einige Port-Pins, die ich nicht eingeschaltet habe, hoch?
STM32F407 Ich habe nur Pin 12 von Port D für die Ausgabe aktiviert. Aber gleichzeitig werden andere Pins eingeschaltet, immer auf unterschiedliche Weise. Manchmal schalten sich zwei Pins ein, manchmal
Ich gebe auch zu Bedenken das der STM32 Startup Code vor dem Sprung nach main() einen Aufruf von SystemInit() macht. D.h. HAL kann da Hardware wie GPIO Ports oder UARTs initialisieren ohne das Code in main() aufgerufen wird.
-
Thread
EEPROM Schreibzyklen
Datensatz läßt sich auch auf irgendwelche Bits oder Kennung verzichten. Der leere Speicher enthält 0xffffffff (z.B. beim meinem STM32F103) Eine Page hat 1K und wird Wortweise beschrieben solange noch Platz ist. Wenn voll wird in 2. 1K Page weiter gemacht und die erste Page wird gelöscht. Macht 256 Schreibvorgänge für einmal Löschen. Der zweite Fall schreibt 2 32Bit Worte in den gelöschten Speicher, auch 2 1K Pages. Beim Starten wird aus dem Speicher solange gelesen bis 0xffffffff gefunden wird, der letzte Wert davor ist der zuletzt gespeicherte.
-
Thread
Alternative zum Raspi
einem Diagramm zwei Mal Pt1000 und einmal ein Thermoelement Typ K. y-Achse ist die Temperatur in °C und die x-Achse ist die Zeit in Sekunden. Habe dafür den 16bit ADC eines STM32H7 genutzt, 32x oversampled, 100Hz. Edit: Die "klassischen" PID-Regelungen bei den kleinen Espressomaschinen sind übrigens
und justieren zu können. Was nützen dir 3mK Auflösung, wenn's am Ende doch nur ne Genauigkeit von 0.5°C gibt?
-
Thread
STM32, printf und fflush
: STM32F103 (allerdings logischerweise gleiches Verhalten bei STM32F0 und STM32F4) Folgendes (funktionsfähiges) Testprogramm: [code] #include <libopencm3.h> #include <stdint.h> #include <string.h
void) { uint8_t count; double sw, wi; sys_init(); uart_init(BAUDRATE); wi= 45.0; sw= sin(wi * M_PI / 180.0); printf("\n\r-------------------------------------\n\n\r"); printf("STM32F103C8T6 / %luMHz - %dBd 8N1\n\r", rcc_ahb_frequency/1000000, BAUDRATE); printf("
-
Thread
PB-Akku 48V 24Zellen - Einzelzellenüberwachung
Spannungsteiler aus 2 gleichen Widerständen. Der kann für wenig Geld fast beliebig genau sein (Reichelt: 0.52€ für 0.1%). Der Offset ist so genau bekannt wie der ADC messen kann. Man verschenkt also 1 Bit Auflösung. Nachdem wir im mikrocontroller Forum sind, wird die Messung natürlich mit einem uC gemacht
zukaufen" und nicht wieder's Rad neu erfinden... Hat noch wer von Euch Bedarf an sowas? Welcher µC ist aktuell eigentlich noch zu akzeptablen Konditionen zu bekommen? Bin etwas ATMEL zugeneigt, STM8 (5V)/32(3V :-( ) ist aber auch ned schlecht.
-
Thread
STM32: SPI - HAL durch eigenen code ersetzen
/c] Der Chip ist ein STM32L452. [c] SPI_TypeDef * g_spi = (SPI_TypeDef *)SPI2_BASE; void PerPrint(void) { printf("CR1: %08x\r\n", (unsigned int)g_spi->CR1); printf("CR2: %08x\r\n", (unsigned
dem Struct definiert ist. Ohne Cast liest und Schreibt der Code 16 Bit in das FIFO Register (beim STM32L452, beim STM32F411 ist DR hingegen kein FIFO). Entsprechend ist dann jeder 2. Transfer eine 0 auf dem Bus... Mit eigenem DMA Code habe ich es jetzt auch am laufen. Ergebnis der tagelangen Debuggerei
-
Thread
50ns Delay mit STM32H7
übersichtlich in einer Funktion unterzubringen. Was mir noch einfallen würde, ich weiß bei einem Stm32F4 gab es einen Counter der dauerhaft mitgezählt hat. Der H7 (übrigens ist meiner der Stm32H753 ) hat das bestimmt auch. Hier könnte ich mir als einfach den Timerwert merken und dann in einer Schleife
Das hier könnte gehen: [c] void delay_ns(uint32_t ns) { volatile uint32_t cycles = ((SystemCoreClock/1000000L)*ns)/1000; volatile uint32_t start = DWT->CYCCNT; do { } while(DWT->CYCCNT - start < cycles); [/c]
-
Thread
[S] Start-Paket für ST ARM M0/M0+/M3 Controller
die STM32F100 oder STM32G03, später evtl, auch "dickere" M3. Wenn jemand ein entsprechendes Start-Paket mit Programmer und einer brauchbaren Toolchain abgeben kann, wäre ich sehr an einem Kauf interessiert
STM32 sind dieses Jahr fast gar nicht zu bekommen. Vergiss es. Mein Vorschlag: https://www.ti.com/tool/EK-TM4C123GXL https://www.amazon.de/dp/B01HPH24NQ Das ist TI TIVA. Auf dem Board ist bereits
-
Thread
Dauerhaft FakeNews in allen AVR Series 0/1/2 Datenblättern
dies bei AVR diverse Flags außerhalb der CPU (und IRQ Controller) zurück setzt ist nicht neu. Bei STM32 wäre es hingegen überraschend.
c-hater schrieb im Beitrag #7066654: > Richtig. Bei 24MHz Takt und im Slavebetrieb sieht das aber schon ganz > anders aus. Und bei 32MHz noch anders ;-)
-
Thread
GUI für LINUX Serial Port erstellen
self.SetTitle("New Frame") sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.button1, 0, wx.EXPAND, 0) sizer.Add(self.button2, 0, wx.EXPAND, 0) sizer.Add(self.textctrl1, 0, wx.EXPAND, 0) sizer.Add(self.textctrl2, 0, wx.EXPAND, 0) self.SetSizer(sizer)
reichlich 5 Jahren mal eine konkrete Realisierung für ein Event-System bei einer Firmware für die STM32F103 gepostet und noch viele Jahre davor das Menüsystem bei der Lernbetty quasi objektorientiert gemacht (soweit man das in C kann), aber keinen hat's interessiert. Stattdessen hat es seitdem alle
-
Thread
Sipeed Longan Nano RESET per C triggern
GD32V Framework mit welchem ich mich sogut wie garnicht auskenne. Hier die Documentation: https://dl.sipeed.com/LONGAN/Nano/DOC/GD32VF103_Datasheet_Rev1.0.pdf Ich hoffe hier kennt sich jemand mehr
finden, ist beim Longan Nano leider sehr schwer überhaupt was zu finden. Ich habe gehört er soll den STM-32 nachempfunden sein, kann ich einfach die Bibliotheken 1:1 übernehmen? Inwiefern sind sie sich ähnlich?
-
Thread
Welche IDE für esp32 nehmen?
Habe heute die Entwicklungsumgebung für esp32 in QtCreator eingerichtet und ein Projekt damit kompiliert. Das geht, weil man die esp32 Projekte direkt mit Cmake verwalten kann: https://docs.espressif.com/projects/esp-idf/en/release-v3.3/api-guides/build-system-cmake.html Ich musste im QtCreator ein Kit für stm32 anlegen. Ich benutzte das cmake toolchain file für die esp32 Platform und gewähten Prozessor auswählen ( als CMAKE variable im Kit). Dann musste ich noch die Python3 Umgebung anpassen, damit die Komponenten
-
Thread
STM32G0: UART DMA empfängt nach Sleep nicht mehr
Hallo zusammen! Ich habe hier einen STM32G0 auf einer eigenen Platine. Der MCU kommuniziert mit einem LTE Modem via AT Kommandos auf UART2. Wenn ich den MCU in den Sleep schicke: [c] HAL_PWREx_EnableFlashPowerDown(PWR_FLASHPD_LPSLEEP
unzählige Male gepostet. Hier mal ein mittlerweile so etwa 5 Jahre altes Beispiel, wie sowas für einen STM32F103C8T6 aussehen kann: https://www.mikrocontroller.net/attachment/316790/STM32F103C8T6.ZIP Das Prinzip: 1. es hat einen Lowlevel-Treiber, der sich um den UART kümmert, dabei in zwei Ringpuffern
-
Thread
STLink Programmersoftware nur wie ?
-c port=SWD -w ob1.bin 0x4002201c ./STM32_Programmer.sh -c port=SWD -w ob2.bin 0x1ffff800
zu erhalten, von einem korrekt programmierten Chip diese auslesen. Schutz bei Bedarf anpassen. ./STM32_Programmer.sh -c port=SWD -r 0x4002201c 0x8 ob1.bin ./STM32_Programmer.sh -c port=SWD -r 0x1ffff800 0x10 ob2.bin ist für F103. Für andere anpassen!
-
Thread
Halbleiter aus Hinterhof-Waschküche?
Also sind das keine nachgefertigten Bauteile Es sind mindestens 6 Varianten von "nachgefertigten" STM32F103 Mikrocontrollern bekannt. Keiner davon funktioniert vollständig.
Programmiergerät? Ich habe vor kurzem eine etwa 30 Jahre alte CPU-Platine bekommen, auf der alle acht 27C256 EPROMs von STM matschig waren. Will sagen, dass die Kiste nicht mehr lief, und der Versuch 1-Bit-Fehler durch Auslesen bei unterschiedlichen Versorgungsspannungen zu lokalisieren aussichtslos
-
Thread
STM32FXX Prozessor - individuelle Kennung auslesen
Faul wie ich bin, mache ich das so: [c] // memory location with the processors UID, here should be 3 dwords/12 bytes #ifdef STM32F4 #define CONFIG_UID ((volatile uint8_t*)(0x1FFF7A10)) #endif #ifdef STM32F7 #define CONFIG_UID ((volatile uint8_t*)(0x1FF0F420)) #endif [/c] Verwendung dann als CONFIG_UID[0] bis CONFIG_UID[11]. Das gilt für den STM32F407 oder STM32F767, die Seriennummer gibt es auch bei anderen Modellen, aber dann an anderer
-
Thread
Einlesen mehrerer Analog Signale
Variante. Besondere Anforderungen hast du ja keine genannt. Anregungen: http://stefanfrings.de/stm32/stm32f3.html#stm32f3mini
haben sie? Welche Impedanz haben die Quellen? Sind sie galvanisch getrennt oder auf die Masse des STM32 bezogen?
-
Thread
Alternative Attiny45.85, 8 Pins, Arduino
STK500-Besitzer schrieb im Beitrag #7055000: > STM8 für Arduino? stm32duino...
hawky schrieb im Beitrag #7055026: > stm32duino... Du kennst den Unterschied zwischen STM8 und STM32? Ich suche übrigens nichts derartiges. https://www.st.com/en/evaluation-tools/stm8-nucleo-boards.html#products https://github.com/stm32duino
-
Thread
Mikrofon-Verstärker-Tiefpass (Pegelmesser)
Christina schrieb im Beitrag #7054464: > Der Mikrocontroller ist ein STM32. Nicht für STM32, nicht direkt für Mikrofone, dafür aber schön kompakt realisierbar, vielleicht interessiert dich das auch 😀: https://www.mikrocontroller.net/topic/419372#new Ziel war es, den
lege den +E auf einen Spannungsteiler zwischen +5V und GND und reduziere die DC-Verstärkung mit einem C in Reihe zu R10 auf 1. Das Ruhepotential am OPA-Ausgang sollte auf dem halben ADC-Aussteuerbereich liegen (entsprechend den gewählten Werten des Teilers). Ich weiß nicht, wie das für den ADC im STM32
-
Thread
Höchstmögliche Schaltfrequenz an einem normalen AVR Ausgangs-Pin
Hier ist noch mein aktueller Code für den Timer. [c] TCCR0A = (1 << COM0A0) | (1 << COM0B0); TCCR0B = (1 << CS00); TIMSK0 = (1 << OCIE0B) | (1 << OCIE0A); OCR0A = 128; OCR0B = 128; [/c] Eigentlich sollte doch sowohl an OC0A als auch an OC0B
Wenn Du die vielen, ernstgemeinten Vorschläge verstanden hättest, wären es 6 x ATmegaxxx oder ein STM32 oder RP2040 oder ... gewesen.
-
Thread
LSERDY wird nicht ready - STM32F407 LSE Clock
, #0x02 @ LSERDY set? beq 5b ------ r0 0x8101 (Hex) r1 0x0 (Hex) r2 0x1 (Hex) r3 0x10000004 (Hex) r4 0x24c (Hex) r5 0x40007000 (Hex) r6
die LSE-Clock statt der internen RTC-Clock einschalten, weil der Chip eine externe Beschaltung mit 32KHz Quarz hat. Die Register hatte ich nur deshalb zitiert, weil r0 und r6 im Code vorkommen zur Kontrolle, daß die richtigen Werte benutzt werden. Das war Cut/Paste aus dem Debugger (STM32CubeIDE)
-
Thread
Netzgerät Bausatz Überlastung
Ich hab T1, T2 und T3 ausgelötet und getestet. T1 und T2 sind beides NPN Transistoren (BD 249C). T3 ist ein PNP Transistor (BD 140 STM). T2 ist durchgebrannt, der hat von C>B 0.8V und E>B 0.77V Flussspannung, wo er eigentlich sperren müsste. T1 hingegen ist noch intakt, weil er von C/E>B sperrt und von B>C/E mit 0.55V durchlässt. T3 müsste auch noch intakt sein, der lässt bei 0.72V von C/E>B durch, da PNP.
-
Thread
Stromsparendes Display, klein, 5 Zeichen gesucht
Keks F. schrieb im Beitrag #7052705: > QFN24 0.5mm Pitch Ich hab mir neulich Adapter bei ebay gekauft TQFP 0.8mm, andere Seite QFN 0.5mm von 32 bis 100 polig (50 Stück für 12€). Kann dir aber inzwischen sagen, daß die beidseitigen Leiterbahnen zu
STM32 Nucleo und Discovery und die STM8 und NXP und MCS51 und Padauk und MSP430 ... habe ich etwas vergessen? Und dann habe ich vergessen, dass ich auch noch in der Hardware Steckbretter und eigene PCB's
-
Thread
Pico Frequenzzähler mit RP2040
• Eingangsbereich 0,1 Hz – 16 MHz, • Option max. Fin = 32 MHz (Turbo) • Auflösung 7 Stellen / s • 3 Messungen / s oder eine Periode (bei Fin < 3 Hz) • ser. Datenausgabe mit 115,2 kBd • Abgleich der Frequenzanzeige
Displaycontroller schaufelt, das ist überschaubar. Es gibt mittlerweile viele fertige Lösungen, für einige STM32 Boards habe ich auch schon Treiber mit den BSPs gebaut. Der lvgl Editor erzeugt ui files und die sind so portabel das sie im PC Simulator oder im µC funktionieren. Habe ein Disco F746 hier liegen
-
Thread
STM32, Verstrichene Zeit mittels SysTick ermitteln, wie Overflow/Rollover berücksichtigen?
ein wenig verwirrt, wie ich einen Überlauf berücksichtige. Wenn wir annehmen, dass SysTick von 0 bis 5 läuft und dann überläuft: [c][0,1,2,3,4,5][/c] Und dann zwei Zeitpunkte annehmen: [c] uint32_t alteZeit = 3 uint32_t neueZeit = 1 [/c] Bin ich mit folgendem Programm auf dem richtigen
Counter durchlaufen. Zeitspannen ermittelt man mit der Subtraktion. Angenommen, der Systick Counter hat 32 Bit und wird im ms Intervall hochgezählt, dann so: [c] uint32_t start=systick(); ... uint32_t elapsed_time_ms=systick()-start; [/c] Oder für Warteschleifen: [c] uint32_t start=systick();
-
Thread
2 ADC Kanale auf Nucleo-G071RBT6
Wenn deine Aufgabe ist "2 Kanäle zu machen" dann bist du schon fertig. Von der Seite zum STM32G071RB: "12-bit, 0.4 µs ADC (up to 16 ext. channels)" Der hat also schon mehr als 2 Kanäle und du musst nichts tun.
Sorry hab gemient 2 Kanäle zu Programieren mit STM32CubeIDE sodass ich es auch benutzen kann.
-
Thread
STM32F411VET6 - UART RX funktioniert nicht
Guten Tag! Ich bin dabei mein selbst erstelltes Board mit einem STM32F411VET6 in Betrieb zu nehmen. Ich habe schon zuvor das ganze mit dem Discovery Board getestet und in Betrieb genommen dabei hat alles funktioniert. Im Detail wird dabei zu einem SIM800C Modul daten
zurückgelesen werden. Dazwischen ist auch ein Pegelwandler der zur Sicherheit Die Signale auf die 3,3V für den STM32 umwandelt. Es wurde bereits alles mit dem Oszilloskop gemessen, es wird ein Signal über die TX Leitung zum SIM800C ausgesendet und der SIM800C antwortet auch und sendet diese zurück bis zum STM32F411
-
Thread
Schematic und Controller für WF123BSWAYLNNO Display
hast könnter den Rest ein Raspi machen oder damit kenne ich mich selbst aber nicht aus einen STM32 https://pcbartists.com/design/embedded/stm32-lvds-lcd-display-interfacing/ Bei deinem Display steht aber auch etwas von 2 Kanal LVDS.
konvertieren der Signale: https://www.amazon.de/InnoView-Tragbarer-Bildschirm-1920x1080-Schutzh%C3%BClle/dp/B09NKDBG6D/ref=sr_1_1_sspa?keywords=usb+monitor&qid=1650958654&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzNDUxR1FNVjdSU1c3JmVuY3J5cHRlZElkPUEwMDgxMjc3Mlc5R05ISlNQM0pQOCZlbmNyeXB0ZWRBZElkPUEwNDA2MTQ4MVgyRVBFUlY1UzVSSyZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU
-
Thread
FFT mit ADC und Mikrocontroller
Ich habe schon viel mit Mikrocontrollern gearbeitet und fühle mich in den Sprachen C und C++ sicher. Mit fehlt einfach das Verständnis zur FFT, hauptsächlich der mathematische Hintergrund. Als Hardware kommt bei mir wie meistens ein MSP430 zum Einsatz. In diesem Fall ein MSP430FR5994
kannst. Am besten nimmst du dieses Arduino Framework und besorgst dir eines dort aufgeführten SM32 Boards: https://github.com/stm32duino/Arduino_Core_STM32 Dann eine der FFT Libraries laden https://github.com/kosme/arduinoFFT und die Firmware an das Problem anpassen.
-
Thread
CAN STM32F7xx
HAL_UART_Transmit(&huart3,strLabel5,5,1); value = value / 1000; }else if(RxHeader.StdId == 0x021){ } lastMillis3 = millis(); } } } [/c]
scheint jemand ein ähnlichen Fehler zu haben: https://electronics.stackexchange.com/questions/212194/stm32f7-gets-stuck-in-external-interrupt-callback-function HAL_InitTick(0); im Init-Teil hilft bei mir aber nicht...
-
Thread
Kurzmeldungen: SigFox geht an UnaBiz, ST erweitert Azure RTOS-Unterstützung, neue Chips
Auswahl unter mehr als 700 MCUs aus dem STM32 Arm® Cortex®-M-Portfolio. Mit dieser neuerlichen Erweiterung stehen spezielle Softwarepakete für den Mainstream-Mikrocontroller STM32G0, die Ultra-Low-Power-Versionen STM32L4, STM32L4+, STM32L5 und STM32U5, die High-Performance-MCUs STM32G4, STM32F4, STM32F7 und STM32H7 sowie die Wireless-Mikrocontroller STM32WL und STM32WB zur Verfügung. [/c] ### Texas Instruments: Extrem kleiner I2C-IO-Expander
-
Thread
Suche MC STM32F427VIT oder STM32F437VIT
https://de.aliexpress.com/item/1005003612495058.html?spm=a2g0o.productlist.0.0.215633f6YOFKRW&algo_pvid=0a1b2e9f-13a0-40a7-9d8f-2dbf2b852c4a&algo_exp_id=0a1b2e9f-13a0-40a7-9d8f-2dbf2b852c4a-43&pdp_ext_f=%7B%22sku_id%22%3A%2212000026491280224%22%7D&pdp_pi=-1%3B32.83%
Harry L. schrieb im Beitrag #7041910: > https://de.aliexpress.com/item/1005003612495058.html?spm=a2g0o.productlist.0.0.215633f6YOFKRW&algo_pvid=0a1b2e9f-13a0-40a7-9d8f-2dbf2b852c4a&algo_exp_id=0a1b2e9f-13a0-40a7-9d8f-2dbf2b852c4a-43&pdp_ext_f=%7B%22sku_id%22%3A%2212000026491280224%22%7D&pdp_pi=-1%3B32.83%
-
Thread
Was ist denn das für eine delay-Routine?!
Mahlzeit! Ein Fundstück mit allen Datentypen die es gibt: [c]void delay_us (uint8_t us) { uint32_t t0; t0 = TIM6->CNT; // 1MHz, 16 Bit while ((uint16_t)(TIM6->CNT - t0) < us) { }; return; }[/c] Gibt es ein Argument für die seltene Kombination
Nach den neuesten Forschungsergebnissen stammen die uint32_t aus dem offiziellen STM-Header. Weil es auch 32-Bit Timer gibt und man nur eine einheitliche struct möchte. "t0 = TIM6->CNT" ist also 32 Bit breit, auch wenn die Hardware nur halb so breit ist.
-
Thread
Lötstation knipst USB-Hub aus
(dazwischen 23mm Holz) hängen nicht mehr. Maus, Tastatur, diverse Elektroniken (Arduino, eigenes, STM32 Nucleo). Am treffsichersten erwischt es Maus und Tastatur. Hub ist ein Logilink 13-port (billigst) und Lötstation eine Ersa MS250. Mehr Entfernung wäre sicherlich eine Möglichkeit, lieber wäre
Kondensator selbst auf, z.B. https://www.reichelt.de/funkentstoerkondensator-x2-100-nf-310-v-rm-15-0-110-c-10--r46-100n-310-p206814.html?&nbc=1
-
Thread
Mikrocontroller Empfehlung gesucht
Für Low-Power geht z.B. die MSP430-Serie von TI ganz gut. Ansonsten STM32L0, die dürften aber schwerer zu bekommen sein.
(Und notfalls gibt's für STM32 und MSP430 auch das Arduino-Framework (STM32Duino und TIs eigenes Energia) - aber pssssst)
-
Thread
SWV auf Assembler Level ansprechen
Software, das in Assembler vorliegt, tracen, möglichst über SWO, also Nachrichten im SWV-View des STM32CubeIDE. Aus einem C-Beispielprogramm heraus lief es ja zuletzt. Die Tracefunktion ITM_SendChar(char); ist aber ein Stück aus einer C-Bibliothek, die dazugelinkt wird. Die habe ich ja in Assembler
r1,[r1] cmp r1,#0 beq 1b ldr r1, = ITM str r0,[r1] pop {r0-r1} bx lr [/pre] Aber der Debugger (STM32CubeIDE) verhält sich merkwürdig. Es wird "hi!" in der SWV ITM Console ausgegeben, aber wenn ich
-
Thread
Welches elektronische Bauteil würdet ihr euch wünschen?
Bernd schrieb im Beitrag #7038720: > Was müsste es können? Das was die STM32 Mikrocontroller können nur halt in verfügbar.
compression point). In und out bereits an 50 Ohm gematched. Ein zusätzlicher DC Pin für output power (DC 0V = Verstäkung = 1 und DC 12V = 43dBm out) Inputleistung für 43dBm out = 0dBm. DC Betriebsspannung: 12V Man darf ja mal träumen...
-
Thread
keinen Bock auf level-shifting
Pegeldefinition vor. Wenn du die Angaben auf deine 3.3V Versorgung umrechnest, entspricht der minimale H-Pegel 0.6*VDD vs. 0.7*VDD bzw. L-Pegel 0.24*VDD vs. 0.3*VDD bei 3.3V Logik. Daran scheitert die Welt nicht. So ein 74HCT...-Eingang der 5V-TTL-Logik ist allerbest geeignet, um mit einem 3.3V µC gesteuert zu
Nicht immer gleich blind hura schreien. Erst Datenblatt lesen. Ja. Du hast Recht. Beim DIP nur 4 C Port Pins herausgeführt. PC[3..0]. Leider. "I/O and Packages – Multi-Voltage I/O (MVIO) on I/O port C"
-
Thread
Automotive Schutzschaltung
/ Reihenschaltung C4 & C5 -> Glättung von Peaks -> Reihenschaltung: Selber Grund wie 2.? Hätte mir ein paar Gedanken für meine Schaltung gemacht: 4. Könnte man die C Reihenschaltung durch ESD sichere Flexiterm
Stefan M. schrieb im Beitrag #7035777: > 1. Funktion C1 & C2 > -> Abfangen von ESD Impulsen ESD und leitungsgebundene Störaussendung. > 2. Reihenschaltung C1 & C2 > -> Ich vermute das diese keine FlexiTerm Kondensatoren sind und daher > ein
-
Thread
Eine gemeinsame Konstante in C und asm?
Gedankenexperiment ohne > praktische Anwendung ist. Die praktische Anwendung ist ein UART-Bootloader für den STM32L031C4. Dem Chip fehlt es an allem (wenn man vom L4 verwöhnt ist). Zum Beispiel kann der eingebaute Bootloader keine Programme ins RAM laden. Bei 8K RAM ist es eben günstig, wenn das Programm im RAM
[ GETCHAR ] = &getchar, [ PRINTF ] = &printf, [ PUTCHAR ] = &putchar, };[/c] imports.c: [c]#include "impex.h" int __attribute__ ((naked, aligned (4))) imports (void) { __asm__ ( "jump: ldr r1, [pc, #8]\n" " ldr r0, [r1, r0]\n" "