-
Thread
Stack richtig dimensionieren
// Funktion wieder runter. static int array_F[100]; // Ist nicht auf dem Stack. // a, b, p_c, d, y kommen auf den Stack // Beim Verlassen der Funktion werden sie vom Stack genommen. } [/c]
das alles durchgelesen aber wirklich schlauer bin ich auch nicht. Ich habe das gleiche Thema für den STM32F103 mit dem GCC. Wie gross den Stack? Ok, Programm läuft aber die 0x100 standen da auch schon vorher drin. Wi erzeugt der Compiler zb ein 10.000 Elemente Array was ich lokal in einer Routine habe
-
Thread
Wie schnell kann ein AVR von SD-Karte lesen?
sich dann m644 (4kb RAM) und m1284 (16kb!!) an
auch eine Erklärung, wie man das für andere Controller >rausfinden/errechnen kann! Mit einem STM32F103Zxx schafft man ca. 4MByte/s bei 12,5Mhz CLK und 4Bit Mode. Grüsse
-
Thread
HTU21 Mögliches Problem mit CRC Erzeugung im Sensor
8b 01 01 3a all CRC OK * HTU21#1 - 48 54 00 3e 68 2b 32 11 02 all CRC FAIL * HTU21#2 - 48 54 00 3e 68 40 32 11 02 all CRC FAIL * HTU21#3 - 48 54 00 3e 67 1e 32 11 02 all CRC FAIL * HTU21#4 - 48 54 00 3e 68 1c 32 11 02 all CRC FAIL SN Felder
aus. Ich verwende Si7051(ClosedCube) und HTU21(China) und bei mir gibt es unterschiede in der I2C Abarbeitung. Anwendung ist ein STM32F103, I2C Umschaltung zwischen PB67 und PB89. Mit 2x Si7051 funktioniert das. Mit HTU21 funktioniert es nach dem Einschalten genau 1mal. Mit einem I2C-Multiplexer
-
Thread
16 unabhängig arbeitende Oszillatoren ?
C http://elm-chan.org/works/mxb/report.html ,6 Oszillatoren, 32KHz
Controller, der 16 unabhängige Timer hat. Allerdings sind nicht alle auf IO-Ports gelegt. Siehe hier, [[STM32]]. Der STM32F103xF.
-
Thread
Wanderkiste Widlar, Runde V
die Batterie noch Saft hat?) 1x Dallas DS12887+ 1x Tütchen verschiedene EEPROM, Atmel Dataflash 32x 74AC00 5x HT7333-A 3.3V LDO ca 20x EL7531 Buck Converter 6x Flöth S4U-0505/5 5V/5V Isolating DC/DC 3x UA7906C 7x LM320H-5.0 (-5V Linear regulator) 19x TL751L05CD (5V LDO) 13x S32X245Q2 (16x CMOS
fertig, geht heute zur Post. Out und In siehe Bilder. Zu In_2 wäre noch zu sagen, dass das Bluepill STM32F103 sind, ich werde wohl bei den 8-Bit-AVRs bleiben, also weg damit. Mit größter Wahrscheinlichkeit sind das aber Fälschungen. Und vielleicht hat jemand noch Appetit auf scharfen englischen Senf :
-
Thread
Flexible Led Stroboskopsteuerung
-104054?cpkey=gYe-nwmEUwucIDgmrU5FLUX3vjYlH6yC1h9ajmDlaOk&adword=GoogleAds/DE/Smart_Shopping/Smartshopping_2020_Alle_Produkte&gclid=EAIaIQobChMIrv3dlqXo7AIVO4BQBh1yEAIKEAQYASABEgJR-PD_BwE Die Lösungen übertreffen bei der Lichtstärke bei weitem
Schau dir mal das Datenblatt und Reference Manual vom STM32F334 an, denn der hat einen besonders schnellen Timer: "The high-resolution timer (HRTIM1) allows generating digital signals with high-accuracy timings, such as PWM or phase-shifted pulses. HRTIM1
-
Thread
ADC Werte sind null
Update Interrupt */ 29. TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); 30. 31. /* Enable TIM2 */ 32. TIM_Cmd(TIM2,ENABLE); 33.} [/c] und hier werden die AD Werte also im Timer Interrupt aufgerufen [c] 01.void TIM2_IRQHandler(void) 02.{ 03. if (TIM_GetITStatus(TIM2, TIM_IT_Update
Ich benütze den STM3210E-Eval board mit dem Prozessor STM32F103ZG. [c] int array1[512] = {0}; int array2[512] = {0}; int array3[512] = {0}; void TIM2_IRQHandler(void) { int static calibration =0 if (TIM_GetITStatus
-
Thread
Stromregelung Schwingkreis mit STM32
Die IGBT´s werden über einen GDT und einem geeignetem Treiber versorgt. Steuern tut das Ganze ein STM32F103 über einen PWM Ausgang vom Timer1. Mein Programm arbeitet von 25 - 120 kHz, Start ist immer bei 120 kHz. Über ein Poti wird der Strom eingestellt, welcher dann über einen einfachen P-Regler
wichtig, brauch ja keinen exakten Spannungswert, sondern die Phase...oder?! Wie kann ich dann dem STM32 beibringen, die beiden Phasen zu messen?
-
Thread
STM32 Timer Interrupt
hier gerade etwas auf dem Schlauch. Das folgende Programm Fragment initialisiert den Timer3 eines STM32F103 um bei einem 72MHz Systemtakt (Kern u. Peripherie) etwa alle 7.8µs einen Interrupt auszulösen. Das funktioniert soweit auch ganz prima. Nur: Nachdem der Handler brav und artig nach den 562
->DIER = TIM_DIER_UIE; TIM3->CR1 = TIM_CR1_CEN; NVIC_EnableIRQ(TIM3_IRQn); } [/c] Die Toolchain ist übrigens Codesourcery lite 2010.9 (GCC 4.5.1).
-
Thread
RS232 3x multiplexen
bei 2,4mA erreicht. Andreas
Nachdem ich in einem anderen Thread auf den STM32F103xC aufmerksam geworden bin, überlege ich nun diesen als Master µC zu verwenden. Da der 5 UARTs eingebaut hat, kann ich mir dann den gesamten MUX-Quatch sparen. Aber danke für die Unterstützung
-
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
ab Kernel 6.5 nativ unterstützt: [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
-
Thread
nRF5 SDK vs. nRF Connect SDK (Zephyr)
*********************************************************************/ int main(void) { uint32_t time_ms = 1; uint32_t time_ticks; uint32_t err_code = NRF_SUCCESS; bsp_board_init(BSP_INIT_LEDS); nrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG; err_code
schon gestolpert. Dafür erreicht man z.B. problemlos 25µA mit dauerhafter Erreichbarkeit über BLE. Ein STM32F103 schafft das vielleicht gerade so im power down. Der interne HF RC Osc. braucht sicher weniger Strom als ein Quarz, also ist es nur logisch, dass der uC auf dem läuft wenn der BLE Stack nicht
-
Thread
Mehr I/O Pins.
dauert. Am einfachsten und schnellsten ist es, einen Controller mit mehr Pins zu nehmen. So ein STM32F103 mit 144 Pins erlaubt schon einiges. Oder ein LPC2468 mit 208 Pins. Mehr wirst Du als Bastler aber nicht verarbeiten können. fchk
, I2C Expander, oder was auch immer nicht hinbekommen. Gruss, Stefan
-
Thread
Debuggingproblem beim GDBServer mit Eclipse + J-Link für STM32F103
funktioniert auch ohne Fehler oder Warnungen, soweit so bekannt. Wenn ich das Programm nun aber auf meinen STM32F103 schreiben lassen und debuggen möchte wechselt die Ansicht in den Debug-Modus und die GDB-Server UI von Segger öffnet sich, es verbindet sich jedoch kein Client damit. Daher wird auch keine Software
Blinken der LEDs) erstellen lasse geschieht dies mit der "alten" HAL. So kann ich das Programm auf den STM32 laden und ganz normal debuggen. Bau ich jedoch das Programm um auf die neue HAL funktioniert das aufspielen und debuggen nicht mehr. Der Fehler bzw. die Warnung der dafür verantwortlich ist, ist
-
Thread
Audio-Delay mit PT2399
ist nun nicht sooo viel. Ein z.B. STM32F103 sollte das also locker packen. Oder ein PIC32MX795F512H. Oder ...
Datenblatt "Surround/Delay", die beiden MFB Filter allerdings anders: alle 15k durch 10k ersetzt, 5600pF -> 1500pF, 560pF -> 680pF, 2.7k -> 1k. Das ganze auf Steckbrett. Die drei Frequenzgänge sind bei unterschiedlichen Verzögerungen gemessen, der Klirr bei 40ms, dort war er am größten. Verzögerung lässt
-
Thread
GCC kompiliert falsch?
0x5AA5) FW_Seriell_Text(2, str2); FW_ForceHW = 0; } FW_UpdateLoop(); // 3 } [/c] Wiso wird zu erst der if Block bei "// 1" ausgeführt und dann erst "// 2" und dann "// 3" ? Der Compiler hat die Optimierungsstufe -O1. "arm-none-eabi-gcc (Sourcery G++ Lite 2009q3-68) 4.4.1
sieht das so aus: [code] U [/code] Denn der "FW_Init();" initialisiert erst den UART. Cpu: STM32F103
-
Thread
STM32 CAN Interrupt Routine Empfang Durchsatz
Hallo, ich experimentiere gerade mit dem STM32F103. Dort möchte ich zwischen zwei STM32 Chips CAN-Daten austauschen. Hierzu habe ich beide Prozessoren per CAN miteinander verbunden. Im Prinzip funktioniert das auch prima - bis auf - ja bis auf
cand[1] = RxMessage.Data[0]; cand[2] = RxMessage.Data[1]; cand[3] = RxMessage.Data[2]; cand[4] = RxMessage.Data[3]; cand[5] = RxMessage.Data[4]; cand[6] = RxMessage.Data[5]; cand[7] = RxMessage.Data[6]; cand[8] = RxMessage.Data[7]; //print_can(RxMessage); } [/c] Beim senden
-
Thread
FM Radio Modul RDA5807M
Check this is my project on STM32F429-Discovery https://github.com/papadkostas/RDA5807M/
(0x05); i2c_write(0x88); i2c_write(0x0F); i2c_stop(); _delay_ms(100); } void FM_activate () { i2c_start_wait(FM+I2C_WRITE); i2c_write(0x02); i2c_write(0xC0); i2c_write(0x01); i2c_stop
-
Thread
Umfrage zu installierten Hausbussen
modus, welcher alle Lichter und die Kaffemaschine ausschaltet wenn ich im Flur den lezten Schalter um c.a. 4.00Uhr betätige
brauchen einen manuellen reset - bisher 2 mal Besonderheit bei mir: alles in UML modelliert und in C++ umgesetzt; Betriebssystem eCos, stm32f103RE
-
Thread
sigrok - Cross-Platform Open-Source Logic Analyzer Software
nicht, auch nicht mit dem Demofile > "fancyblink.bin". Moin Björn, in sigrok-dumps/jtag/olimex_stm32-h103 liegt ein README, in dem folgendes steht: "The firmware flashed to the board is a simple LED-blinking libopencm3 example named 'fancyblink'. The respective fancyblink.bin file is available
Stefanus F. schrieb im Beitrag #6018561: > Könnte am Filesystem liegen. FAT32 unterstützt maximal 4GB. Die typische Fehlermeldung unter Windows bei Verletzung dieser Grenze ist allerdings: ERROR_HANDLE_DISK_FULL
-
Thread
USB vs. SD Card an Microcontroller
Hallo, ich fange neu mit der Programmierung von Microcontrollern an, kenne mich mit C und C++-Bereich aber schon sehr gut aus. Nun möchte ich auch die Möglichkeit haben, Daten extern zu speichern. Meine Frage: soll ich dafür lieber USB-Sticks oder SD Cards nehmen? Daa Dateisystem ist
Was heißt denn zu teuer? Einen STM32f103c8t6 Beispielsweise kriegt man bei Reichelt für 3,50€, in China sogar für 1,50€ das Stück. Das Problem ist wohl eher, dass es die meist nur als SMD Variante gibt.
-
Thread
Logamatic 2107 Schnittstelle
08 88 00 4C 62 80 F0 91 90 08 D0 8C 00 00 00 9E 10 08 88 0C 4C 62 80 F0 91 E0 50 08 E4 00 00 00 12 10 08 88 18 4C 62 80 F0 91 E0 D0 B8 E0 00 00 00 BC 10 08 88 24 4C 62 80 F0 91 E0 88 88 6C 00 00 00 AB 10 08 88 30 4C 62 80 F0 91 E0 30 78 80 00 00 00 C9[/c]
-
Thread
Erfahrung JLCPCB PCB Assembly
, 470uF/10V,C1,PANASONIC_D, BC848,T1 T3,SOT23, BSS84,T4,SOT23, ESP-32S,AI-ESP32-S,ESP-32S, LM4871,LM4871,SOIC8, MB8S,B1,SOIC-4, TC2030,PROG,TC2030-MCP-NL,[/code] Meine Excel.CSV nach Anleitung. Alle
bill-of-materialsbom-file-for-smt-assembly [code]Qty;Comment;Footprint;Designator;LCSC Part # 1;ESP-32S;ESP-32S;AI-ESP32-S;C277944 1;MB8S;SOIC-4;B1;C232761 2;1uF;C0603;C2, C4;C15849 2;10uF 35V;C1206;C3, C6;C96449 1;10nF;C0603;C5;C57112 3;100nF;C0603;C7, C8, C9;C14663 1;DIODES;SOD323-R;D2;C314262
-
Thread
Rust - ist das hier um zu bleiben?
zu altbekannten Werkzeugen? Wie schwer tut man sich wenn z.B. der Chef man möchte doch z.B. von STM32 oder PIC/AVR auf ein Rust Entwicklungssystem umzusteigen? Wird PIC/AVR unterstützt? Gibt es Case Studies wie man ein existierendes erfolgreiches embedded Projekt (STM32/AVR/PIC) von C/C++ auf Rust
ganz einfach fragen: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=2d69f5a260259c365c4e0ac0913eff0e
-
Thread
SPI-FRAM Speichererweiterung für XMEGA
> Es ist auch langsamer, weil lesen > einen Schreibvorgang bedeutet. Das schon genannte CY15B103Q 4M FRAM kann bis 40MHz SPI Takt unverzögert ausgelesen und beschrieben werden- und zwar 100 Trillionen Mal. Die Haltbarkeit wird mit 150 Jahren angegeben. *Alle* diese Daten erreicht das ältere MSP430
× 16 entries)." QSPI modul aus dem STM32 (STM32F446) siehe Seite 337 im Reference Manual 'RM0390' "Memory-mapped mode In memory-mapped mode, the external Flash memory is seen as internal memory but with some latency during accesses. Only
-
Thread
Cortex M, Trace im Betrieb starten?
Hallo, ich nutze gerade Cortex M3 von STM(STM32F103) und programmiere in Keil µVision4. Es gibt da wunderbare Debuggingfunktionen mit der ITM über SWD, z.B. die Printf-Ausgaben oder das auslesen von Variablen während der Laufzeit. Ich nutze
7:0 */ ITM->TPR |= 1; [/c] Hat jemand eine Idee was da schief läuft?
-
Thread
USART TX,RX AUF PINS ?
ich das angehen soll aber die normaler USART Verbindung habe ich hin bekommen. Ich besitze einen STM3210e-Eval board mit einem STM32F103ZG ARM Prozessor und arbeite in der Keil Umgebung [c] //enable bus clocks RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO
Lukas schrieb im Beitrag #3424074: > Beispiel: > > USART1 TX will ich auf PIN PA4 schau dir dir "Alternate Function" Beschreibungen und die "Remap Register" im Reference Manual deines µC an. Dort findest du z.B. USART1_REMAP: USART1 remapping This bit is set and cleared by
-
Thread
Detailfrage RTC DS3231
https://wiki.freitagsrunde.org/C-Kurs/Wochentag/Musterl%C3%B6sung sieht irgendwie scheiße aus :-) Ich schaue mich hier: https://www.mikrocontroller.net/topic/144905 mal um
ohnehin für mich nicht wichtig. Abgesehen davon, ist mir das UNIX Datetime Konzept lieber. Beim STM32F103 z.B. ist die RTC ohnehin ein 32-bit Zähler; finde ich viel bequemer.
-
Thread
Schaltplankontrolle - Tomatenbewässerung
zum anschauen. Mit dem ganzen würde ich gern bis zu 8 Tomatentöpfe bewässern :-) Es soll auf ein STM32F103C8 DevBoard gesteckt werden, daher oben links die Connections. Ansonsten gibt es eine 12V Pumpe, einen Durchflusssensor (12V), 7x Feuchtigkeitssensoren für die Erde (Poti bis 10kOhm) und 8 Magnetschalter
GPIOs >PC13 to PC15 in output mode, the speed should >not exceed 2 MHz with a >maximum load of 30 pF. Und man sollte den max. Strom Iss auch noch berücksichtigen. Steht alles hier geschrieben: http://www2.st.com/content/ccc/resource/technical/document/datasheet/33/d4/6f/1d/df/0b/4c/6d/CD00161566
-
Thread
Interrupt Priorität beim STM32
Hallo Mikrocontroller- Gemeinde, ich habe eine Frage zu den Prioritäten des STM32F103. Irgendwie ist das nämlich net so ganz sauber dokumentiert, wie ich finde. Hier mal so, wie ich das Ganze verstehe: - Die Prioritäten sind in Haupt- und Unterpriorität unterteilbar - es werden hierfür 4 Bits verwendet - es gibt 5 Gruppen, die diese 4 Bits für die Unterteilung in Haupt und Unterpriorität nutzten (z.B. 1 Bit für Haupt, 3 Bit für Unterprio. usw.). - ein Interrupt mit einer höheren
-
Thread
Chipmangel überall Gesperrt
. Wenn man allerdings mal den 0815 STM32 schlechthin "STM32F103" in irgendeinem LQFP Gehäuse sucht, sind 10 tausende auf Bestellung aber so gut wie keine auf Lager. --> Es sind auch Bauteile betroffen die in allen möglichen Anwendungen
www.manager-magazin.de/unternehmen/aluminium-mangel-als-naechstes-droht-die-aluminiumkrise-a-30ed225d-1d1b-4a82-94dd-3f4d61398f00
-
Thread
Verkaufe jede Menge Bauteile
DS18B20 TO92 1,5 5x ACS750-100 3 10x PCF8574 SOIC-W 1 4x ENC28J60 DIP 3 3x ENC28J60 SOIC 3 1x 24C1024 DIP 2 1x 24C512 DIP 1 3x 24FC1025 DIP 2 2x 24AA1025 DIP 2 3x MCP2515 DIP 1,5 3x STR712FR2T6 TQFP64 8 3x STM32F103CBT6 LQFP48 6 2x STR711FR2H6 LFBGA64 7 1x ATMega 8535L PLCC44 4 3x MAX7221 DIP 4 6x MAX7119 DIP 4 3x MSP430F2013 DIP 2 [/pre] Versandkosten
-
Thread
ADC-Wert skalieren
ist der ADC? Wahrscheinlich in dem selben wie dort: https://www.mikrocontroller.net/topic/559471 STM32F4 - selbst der kleinste hat genug Speicher für mehrere LUT's
a, b, c) for adc_inp in range(193, 4072+1): print(f'{adc_inp:4d} {func(adc_inp):5.3f} V') [/code] Ein Aufruf von func(adc_inp) dauert ~48µs. Lässt sich dann aber auch sehr bequem zB. in
-
Thread
Pt1000 an ADC anschließen
-)--|+\ | | | | | | >----+--R7--+-- A/D | 100nF | +--|-/ | | | | | | | | | | | RTD +---)--R4--+ C | | | | | |
vorsieht. Der MAX11200 wurde im Hintergrund vollautomatisch nach jeder ADC Umwandlung (EOC) über DMA (STM32F103) ausgelesen. Analogschaltungen, zeitraubende HW Kalibrierung und OPVs sollte man sich heutzutage nicht mehr antun. Eingesparte, nicht vorhandene Präzisionsteile können daher keine zusätzlichen
-
Thread
Arduino mit CAN-Shield Can-Daten auslesen
CAN-Controller, da ist das Ansprechen gleich viel einfacher. Externe Controller sind doch nur Fummelei. Der vom STM32F103 zB sendet bei Kollisionen immer nochmal, wie es vorgesehen ist (kann man aber abschalten). Wenn eine Nachricht angekommen ist, gibts nen Interrupt.
Motor obd.getPidAsString(0x0C, 0.0f, 16383.75f, "%d", buffer); lcd.setCursor(0, 1); lcd.print(" rpm"); lcd.setCursor(0, 1); lcd.print(buffer); // Rechts unten: Aktuelle Geschwindigkeit in km/h obd.getPidAsString(0x0D
-
Thread
Simultan laden einer Batterie und betreiben einer LED
nicht abschalten, weil der Strom nicht fällt. Der TP hat keinen Safety Timer drin, der schaltet bei C/10 ab und hat eine Auto Recharge Funktion. Sollte passen, sofern man einen Originalen bekommt. Bei AZ Delivery muss man genau lesen. Bei der STM32 BluePill steht auch nur "kompatibel zu STM32F103". Drauf ist ein GD CD32 irgendwas. Bei FTDI USB zu Uart Chips siehts auch so aus.... Vernüftige Sourcen sind Mouser, Farnell, Digikey, RS für einzelne Bauelemente bzw haben die oftmals Breakout Boards von Adafruit, mit denen