-
Thread
Liste von ICs usw. fürs Breadboard
Da kann man dann auch gleich auf STM32 oder andere ARM Controller upgraden - sofern einem die 5V nicht wichtig sind.
Steve van de Grens schrieb im Beitrag #7469900: > Da kann man dann auch gleich auf STM32 oder andere ARM Controller > upgraden - sofern einem die 5V nicht wichtig sind. Die meisten IOs sind doch 5V tolerant. Und die G0xx sind doch die richtigen für Hobbyosten, auch im SOIC8. Wenn
-
Thread
I2C RTC+EEPROM mit ESP8266. Mal funktionierts mal nicht
solche Problem damit gehabt auch nicht im Resetfall. Bis jetzt hab ich diese allerdings nur am AVR/STM32 mit einer "echten" I2C Schnittstelle verwendet. Kann das vielleicht ein Problem mit der Software Implementierung der I2C Schnittstelle(Wire Library) sein?
Frage hätte ich noch aus Interesse, hier handelte es sich ja wohl um ein Softwareproblem da das I2C Interface in Software realisiert wurde. Wie ist das bei "echten" I2C Interfaces also die als Hardware Baustein im Controller vorhanden sind wie beim AVR/STM32 oder ESP32? Machen die sowas automatisch
-
Thread
Systematik der STM32 internen Peripherie
Hallo zusammen, zu meinen favorisierten STM32 µC gehört hauptsächlich die G4 Serie. Die anderen Serien kenne ich nicht wirklich. Durch ein aktuelles Projekt kommt die G0 Serie ins Spiel. Nun frage ich mich nach der Systematik der internen Peripherie
Zur Systematik kann man sich auch die XML-Files in STM32CubeMX/db/mcu und Unterverzeichnissen ansehen. Die Rust-Leute haben offenbar auch einiges an "Systematik" zusammengetragen und hier https://github.com/stm32-rs/stm32-rs/tree/master/peripherals in yaml-files
-
Thread
STM32F103C8T6 - TIM2 PWM
Habe eine kleine (STM32CubeIDE) Anwendung auf einem STM32F103C8T6 und möchte auf pin PA15 ein PWM-Signal ausgeben. Es kommt aber leider nichts raus. Habe das Problem auf ein kleineres Projekt heruntergebrochen, was auch
da automatisch eingesetzt wurde. Aber das sind ja Routinen, die man überschreibt. Jetzt sehe ich in stm32f1xx_it.c : [pre] void TIM1_UP_IRQHandler(void) { /* USER CODE BEGIN TIM1_UP_IRQn 0 */ /* USER CODE END TIM1_UP_IRQn 0 */ HAL_TIM_IRQHandler(&htim1); /* USER CODE BEGIN TIM1_UP_IRQn
-
Thread
STM32 startet im HardFault
außer das GND-Pad unter dem Controller) gelegentlich komme ich zu einem Breakpoint in der startup_stm32l562ceux.s in Zeile 62 und kann sogar 2 Schritte weiter steppen. In der stm32l5xx_it.c ist aber spätestens schluss in Zeile 217 ("SCB->CPACR |= ((3UL << 20U)|(3UL << 22U)); /* set CP10 and CP11
interpretieren ist. Sonst würde ohne Debugger ja kein Code anlaufen... Angehängt meine Vektortabelle eines STM32F407 (Cortex M4): Der Resetvector (Adresse 0x08000004) enthält: 0x0800b62d (little endian). Wie man aber am zweiten Screenshot erkennen kann, liegt der reset-Vector an Adresse 0x0800b62c.
-
Thread
STM32 in Timer.Period schreiben
Ich habe einen Timer (TIM1 in einem STM32F103C8T6) programmiert, daß er mit einer Frequenz von ca. 8KHz (ca. 8372.09 Hz) läuft. Timerclock is 72 MHz. Initialisierungscode: [pre] /* USER CODE END TIM1_Init 1 */ htim1.Instance = TIM1; htim1.Init.Prescaler = 0; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 8599; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload
-
Thread
FFT Verständnisfrage
(FftInputType *data, unsigned long cnt) { unsigned long x = 0; float ampl = 0.0; float fiPI = 0.0; float fiC = 0.0; for (x = 0; x < cnt; x += 2) { ampl = sqrt((pow((float)data[x], 2)) + (pow((float)data[x + 1], 2))); fiPI = tan((float)data[x + 1] / (float)data[x]); fiC = (180.0 * fiPI / (2.0 * PI)); if ((ampl < 0.0001) && (ampl > -0.0001)) { fiC = 0.0; } while (fiC > 360.0) { fiC -= 360.0; } while (fiC < -360.0) { fiC +
-
Thread
UART: Verschliffene Flanken - wann werden die Datenbits gesampelt?
Hallo zusammen, stellt euch eine UART-Übertragung zwischen zwei Mikrocontrollern (z.B. STM32) vor, bei der wegen Kapazitäten die Signalflanken stark verschliffen sind, die Pegel high und low aber noch OK sind. Wann sampelt der Receiver? Gibt es da einen Standard oder Quasi-Norm, zu welchem
und −15V (also "low") eine "log. 1" und eine Spannung zwischen +3V und +15V (also "high") eine "log. 0" darstellt. Als physikalische Schnittstelle am UART/uC verwendet _positive Logik_: klassisch TTL-Pegel mit Spannungen zwischen 2V und 5V ("high") entsprechen einer "log. 1", Spannungen zwischen 0V
-
Thread
Renesas M16C Ersatz
gefallen die Energiesparmodi G4 sind die neuesten, aber entscheidend ist wohl, welcher Typ in STMs Longevity Liste steht. Markus L. schrieb im Beitrag #7461328: > nice to have: > RTC naja, wenn man sowieso I2C braucht, kostet eine externe RTC auch nur 1 Pin extra. Dafür ist da der 32kHz-Quarz
neueren STM32 können ihren internen RC-Oszillator mit den 32kHz von der externen RTC trimmen. Manche per Hardware, fast alle per Software und dann reicht oft auch der 1Hz-Takt von der RTC.
-
Thread
STM32CubeIDE mit blackmagic hosted server verbinden - wie?
angepaßt, daß da auch 2000 steht. Aber es müßte schon jemand hier antworten, der die Konfiguration von STM32CubeIDE kennt. Beim Remote Target gibt es ja eine ganze Menge "Gegenstellen", die man konfigurieren kann. Ich sehe jetzt auch schon, daß STM32CubeIDE zum blackmagic server (BMDA) verbindet. Kann den
Stück Serversoftware, die von GDB aus STM32CubeIDE angesprochen werden muß. Ich bin zwar auf Discord mit den BMP Entwicklern im Gespräch, aber die weisen alles von sich, wenn es um STM32CubeIDE-Konfiguration geht. Ich glaube aber, ich
-
Thread
STM32F107 Ethernet Interface
Ich habe ein Board erstellt um mit dem STM32F107 die Ethernet Schnittstelle zu benutzen. Dazu nutze ich den DP83826 als PHY im Basic mode mit RMII. Der DP83826 wird außerdem im Master mode benutzt. Der bekommt also vom STM32 seine 25MHz über
interessiert sich. Das ist bisher überwiegend generierter Code der STM32 IDE.
-
Thread
Objektinitialisierung mit Parametern im Konstruktor in C++
Parameter gleich komplett wegzulassen. Wenn es etwas(!) allgemeiner werden soll, landest Du eh bei [c] template<auto N, typename MCU> struct Uart; template<auto N, STM32Gxx MCU> struct Uart<N, MCU> { // ... }; template<auto N, AVR_DA MCU> struct Uart<N, MCU> { // ... }; [/c]
Dann wäre ein Array nicht nur bei der Ausgabe besser, sondern auch beim Setzen der neuen Werte. [c] for (uint8_t i = 0; i < N; i++) valuesPtr[i]->SetValue(sensorValues[i]); //... for (uint8_t i = 0; i < N; i++) valuesPtr[i]->Draw();[/c] Die Setter werden in der Hauptschleife aufgerufen sobald
-
Thread
STM32 FDCAN Filterkonfiguration filtert nicht
Moin zusammen, ich versuche derzeit die CAN-FD-Schnittstelle von meinem STM32H745-DISCO zu konfigurieren und scheitere an der Konfiguration der Filter. In meinem Code wähle ich derzeit einen Identifier aus, dessen Signal ich über einen Callback in FIFO0 schreiben und zur
der erste Fehler ist C-Quellcode nicht mit der Dateieindung .c hochzuladen.
-
Thread
stm32cubeide keine Einstellung für Baudrate für SPI3
In STM32CubeMX 4.16.0 kann ich den Prescaler für SPI3 einstellen.
. STM32CubeMX - STM32 Device Configuration Tool Version: 6.8.0-RC4 Build: 20230223-1600 (UTC) Copyright (c) 2023 STMicroelectronics. All rights reserved Eigentlich auch recht aktuelle Version. Gruß
-
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
(In C++ etwa als uint<0, 99> dargestellbar).
-
Thread
time.h bei ESP32 Probleme
Raketentechnik. Den Code dafür hatte ich mal vor ein paar Jahren zusammengeschrieben - hier für einen STM32: https://github.com/ukw100/wordclock24h Konkret ist die Berechnung hier drin: https://github.com/ukw100/wordclock24h/blob/main/src/timeserver/timeserver.c Letzte Funktion darin: timeserver_convert_time
"); // eine Sekunde Korrektur für das E-Paper... setenv("TZ", "CET-1CEST,M3.5.0,M10.5.0/3", 0); ... time_t now = time(nullptr); struct tm * timeinfo; timeinfo = localtime(&now); uint32_t seconds = timeinfo->tm_sec; uint32_t minutes = timeinfo->tm_min; uint32
-
Thread
BeagleBone BeagleV-Ahead: BeagleBone mit RISC-V-CPU und hochwertiger Ausstattung
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
Schade. Wäre ein interessantes Board gewesen. Da muss ich doch auf das RISC-V SoC made in EU warten... *LOL*
-
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
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-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf
-
Thread
CubeIDE Variablen in externen Modul unbekannt
/STM32Cube/STM32Cube_FW_F3_V1.11.0/Drivers/STM32F3xx_HAL_Driver/Inc$ ls *spi.h stm32f3xx_hal_spi.h stm32f3xx_ll_spi.h [/code]
die richtigen Datentypen benutzt (bei Dir SPI_HandleTypeDef). Nehmen wir zwei Prograemmchen: [c] #include "stdio.h" void call_zwei(); float var = 0; int main(int argc, char* argv[]) { var=42.0; printf("var = %f\r\n", var); call_zwei(); printf("var = %d\r\n", var); } [/c]
-
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
Richtungen hinzu, Braucht eine CPU nicht. Shift ist nur eine Andersverbindung der Eingänge I0..I7 und Ausgänge O0..O7 der ALU. ShiftLeft: I0->O1, I1->O2, I2->O3, I3->O4, I4->O5, U5->O6, I6->O7, I7->CarryOut, 0->O0. RolLeft: CarryIn->O0, I0->O1, I1->O2, I2->O3, I3->O4, I4->O5, U5->O6, I6
-
Thread
ATtiny Typenchaos bei Microchip Gesperrt
AVR64EA32 | AVR64EA48 | [/c]
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
-
Thread
GCC Linker per Linker Script oder über Kommandozeile Parameter zum Setzen einer Konstante mitgeben
Hallo, besteht eine Möglichkeit dem Linker einen uint32 Wert mitzugeben und damit eine Konstante zu initialisieren. [c] const uint32_t app_checksum __attribute__((section(".appdata"), used)) = 0xAABBCCDD; const uint32_t app_numpages __attribute__((section
ausgerollt? Bisher habe ich 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
-
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 :-(
was ich dann nicht umgesetzt habe, weil die RS232 reicht. Ausserdem war das noch in der Kowit-Zeit; STM32F407VE hatte ich noch da, und alles andere war nicht lieferbar... :-(
-
Thread
Mikrocontroller steuert PWM Motor an - ohne Funktion
Ein STM32F030K6T6 erzeugt ein PWM Signal (2,2kHz), Pulsbreite über Poti einstellbar. Verstärke wird das Signal mit einer Komplementärstufe BD139/140 und diese steuert ein IRFP460 Mosfet an. Zwischen Source
dass der MOSFET nichts leitet, da kommen am Gate bestenfalls 2,9V an, eben Versorgungsspannung des µC minus 0,7V.
-
Artikel
Reichelt-Wishlist
Microtune | NetDCU8 von F & S Elektronik Systeme GmbH ( - Linux-Computerplatine mit 400MHz Samsung-ARM mit 32MB RAM, 16MB Flash und SD/Ethernet/CAN/USB/TFT/RS232 für ca. 100 Euro | | * OM5610 FM Tuner-Matchbox von Philips | ST Primer 2 (Experimentierboard fuer ARM Einsteiger) * STM STM3210C-EVAL für <=214,79
Bargraphanzeige) === Quarze, Quarzoszillatoren und Resonatoren === Murata Keramik-Resonator CSTLS16M0X, CSTLS20M0X (obwohl 3. OW, direkt mit µC verwendbar) | Quarze 6,500000 MHz (HF-Anwendung) * Quarze 32 MHz 10ppm Oscillatorfrequenz 0 bis +70°C | Quarz mit 3,200 MHz * Quarzoszillator 9,8304 MHz | SMD
-
Thread
CH32v003 PWM & Timer Probleme
devices manufactured by or for STMicroelectronics." https://www.st.com/resource/en/license/SLA0048_STM32CubeF1.pdf.
obigen Beispiel auf Pin D3 auszugeben. Es fehlte letztendlich die Anweisung, AFIO zu aktivieren: [c]RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE );[/c] Hier ist ein vollständiges Beispiel: [c] GPIO_InitTypeDef GPIO_InitStructure={0}; TIM_OCInitTypeDef TIM_OCInitStructure={0};
-
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
ja nur die Nummern (Table 16-9) und die Macros sind in den Header files für die jeweilige Unit. C:\Program Files (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
Die Magie passiert im Windows-Kernel. Und die willst du nachbilden? Die Treiberdateien sind in C:\Windows\System32\DriverStore\FileRepository . Aber mit Löschen oder Hineinkopieren ist es wie gesagt nicht getan (was unter laufendem Windows wie gesagt sowieso nicht geht). Thomas Z. schrieb
-
Thread
Wie weiter nachdem eine "Main" Datei erstellt ist
generate makefile? build utility? Bilder anschauen?: https://eleceng.dit.ie/frank/arm/BareMetalSTM32F0Discovery/toolchain.html https://microcontrollerslab.com/wp-content/uploads/2020/08/C-Program-compilation-steps-in-GNU-toolchains.jpg
-
Thread
Arduino Uno R4 im Handel erhältlich
. Sämtliche STM32-Nucleo und Discover Boards werden unterstützt. Ob die Renesas schon drinn sind, weiß ich nicht, wird aber sicher so passieren.
allem schreibt man in die Config was man benutzen möchte und das wird installiert. > Sämtliche STM32-Nucleo und Discover Boards werden unterstützt. Nein, werden sie nicht. Ich habe hier schon länger ein Nucleo-Co31C6 liegen das nicht unterstützt wird und der Support für das Nucleo-H503RB das
-
Thread
Lesen/Schreiben FRAM klappt nicht
liegen, dass die beiden folgenden Methoden (oder eine von ihnen) nicht korrekt funktionieren? Die I2C-Adresse des FRAM ist 0x50 (80 dezimal), ich schreibe testweise in die Speicherplätze 0-9 die Werte 10,11,12 ... 19, bekomme jedoch beim Lesen immer nur 255 zurück. "sw" ist eine Software-I2C, "softwire
rummachst. Wenns AVR wäre, verlasse ich mich da auf die bei mir sehr bewährte Library von PFleury. Für STM32 habe ich hier was für die SPL, was auch Fehler meldet. Harald K. schrieb im Beitrag #7442779: > Und wo ist das r/w-Bit? Gute Frage. Es müsste ja in der Read Routine Bit 0 gesetzt sein.
-
Thread
Speichermanipulation FLASH - STM32F411CEU
: float Data[25][2]; uint32_t Adr = 0x08060000; for(i=0; i<25;i++) { Flash_Write_Data(Adr, Data[i][0], 2); Flash_Write_Data(Adr, Data[i][1], 2); Adr++; } Mein Ziel damit ist es, das Wort
Timbo2023 schrieb im Beitrag #7442477: [c] > for(i=0; i<25;i++) > { > Flash_Write_Data(Adr, Data[i][0], 2); > Flash_Write_Data(Adr, Data[i][1], 2); > Adr++; > } [/c] Fehler 1: Das zweite Flash_Write_Data wird mit demselben Wert
-
Thread
I2C-Bus: SDA und SCL an ATMEGA328p
SCL_READ() (tst_bit (PIND,I2C_SCL_PIN)) // read SCL void Port_Init (void) { set_bit(DDRD, I2C_SDA_PIN); // PD.2 Port-Direction Output clr_bit(PORTD,I2C_SDA_PIN); // PD.2 auf 0V setzen set_bit
change the uC register definition file <stm32f10x.h> Leider hat das nun doch nicht so einfach geklappt. Ihr habt mich überzeugt, doch besser die TWI-Schnittstelle zu verwenden. Vielen Dank! Gruß Rainer
-
Thread
STM32 QSPI MT25QL128A
Hallo Leute, ich habe gerade versucht, meinen Qspi MT25QL128A auf einem STM32U599 Custom Board zum Laufen zu bringen, aber leider habe ich bisher keinen Erfolg gehabt. Im CubeProgrammer habe ich den Qspi im External Loader ausgewählt, aber es erscheint die Meldung "data read
Ich habe nochmal im Datenblatt nachgeschaut und da ich den MT25QL128ABA1ESE-0SIT nutze sollte ein Pull-up auf DQ3 sein. Dieser war nicht drauf, aber nach dem einlöten hat sich nichts geändert.Ich habe nochmal gepüft ob die GPIOs richtig sind. Also der External Loader ist unabhängig
-
Thread
4-Digit LED 7-Segment Anzeigetreiber mit Padauk PFS154-S16
noch den schwachen 8mA Ausgang PB7 als Digitleitunge verwendet statt einem der 20mA kräftigeren PA0,PA3,PA4,PB2,PB5,PB6, bringst also nur eine mittlere Displayhelligkeit wie mit 0.25mA Dauerstrom, das reicht auch bei modernen high efficiency LED Displays nur für Schummerlicht. Dabei gibt es billige
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
main(): [c] /* USER CODE BEGIN WHILE */ float Temp; while (1) { Temp = LM235Z_Read(0); sprintf(MSG, "%.3f C", Temp); CDC_Transmit_FS(MSG, strlen(MSG)); HAL_Delay(100
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