-
Thread
I2C Problem mit Acknowledge Polling
http://www.keil.com/forum/58523/stm32-i2c-using-function-i2c-send7bitaddress/
//my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex%5fmx%5fstm32%2fUsing%20STM32%20Optimized%20I2C%20examples%20when%20two%20I2C%20devices%20connected
-
Thread
Welchen µC-Typ für neues Projekt?
muss aber nicht sein. bzw kann per software sogar deaktiviert werden. ich würd jetzt mal sagen STM32F0?
. Die Besonderheit: der µC hat eine FPU auf dem Chip! http://de.futureelectronics.com/de/technologies/development-tools/development-tool-hardware/Seiten/7044984-STM32F3348-DISCO.aspx?IM=0 Wenn es 'mainstream' sein soll, dann
-
Thread
Wie programmiert man einen STM32?
Schon Erfahrung mit µ-controller ? (Arduino, Atmel 8-bit..). Diese STM32 F4 ist nicht so einfach, das hilft wen sie schon C / C++ Kentnisse habe. Eigenlich braucht sie nur ein usb-kabel, eine compiler IDE wie Atollic und die sie konnen anfangen ! Was genau wollen sie
Beitrag #5540161: > Das haben wir doch schon durchgekaut dass die Discovery Boards > einen ST-Link v2.0 repräsentieren (und nicht v2.1) und damit > nicht "um-flash-bar" sind. Wo hast du diese Weisheit her? Ich habe hier ein stm32f4-discovery welches zum j-link geflasht wurde. Das stm32F334-discovery
-
Thread
Discovery_STM32F746 Linking Problem
': stm32f7xx_it.c:(.text.SysTick_Handler+0x0): multiple definition of `SysTick_Handler' Src/stm32f7xx_it.o:stm32f7xx_it.c:(.text.SysTick_Handler+0x0): first defined here stm32f7xx_it.o: In function `EXTI0_IRQHandler': stm32f7xx_it.c:(.text.EXTI0_IRQHandler+0x0): multiple definition of `EXTI0_IRQHandler' Src/stm32f7xx_it.o:stm32f7xx_it.c:(.text.EXTI0_IRQHandler+0x0): first defined here stm32f7xx_it.o: In function `EXTI2
-
Thread
Arduino Libraries zu STM32 Portieren
Antwort ist: in der Arduino-IDE geht das genauso wie in jeder anderen IDE (oder Editor), in der man C- bzw. C++ Code schreibt. Speziell für einen STM32 würde man sich vorher entscheiden müssen, ob man (per CMSIS Header) direkt auf die nackten Hardware-Register zugreift: [c] #include "stm32f0xx.h"
ist für einen STM32F030, *nicht* den F103 auf dem Bluepill-Board) Oder ob man ein "Abstraktions" Framework des µC-Herstellers einsetzen will. Für STM32 hat man die Wahl zwischen SPL (wird nicht weiter entwickelt,
-
Thread
STM32 I2C direkt über die Register
Referenzhandbuch hat man hinten im Anhang entsprechende kurze Code-Schnipsel zu jeder Hardware - ST nennt die "STM32Snippets". Zusammen mit den sehr guten Kommentaren in den C- und Headerdateien der StdLib (hier stm32f0xx_i2c.h/.c) hat man einen guten Leitfaden für die Hardwareinitialisierung. Dann vergisst man
nachgesehen, es ist /immer noch/ falsch, interessanterweise aber nur in manchen Dateien! Im Paket STM32CubeF4 die Datei en.stm32cubef4\STM32Cube_FW_F4_V1.21.0\Projects\STM32446E_EVAL\Examples\TIM\TIM_7PWMOutput\SW4STM32\STM32446E_EVAL\STM32F446ZETx_FLASH.ld enthält: [code]_estack = 0x2001FFFF
-
Thread
ATmega32 noch zeitgerecht?
ATmega32-Ersatz ist irgendein STM32Lxxx (stromsparend) oder ein STM32F10x, meist ein STM32F103C8 (auch nicht mehr zeitgemäß, aber sehr gut erhältlich).
STM32F0 bedeutet aber sofort Eclipse? Das habe ich nie so schön am laufen gehabt wie dsa Atmel-Studio. Marko
-
Thread
STM32 „Bluepill“ vs. Atmega328 Batteriebetrieb mit Arduino
worüber ich in der letzten Zeit immer wieder nachgedacht habe: Welche der beiden MCUs (Atmega328 vs STM32F103C8) ist besser geeignet für Batteriebetrieb? Lässt sich da eine generelle Aussage treffen? Rahmenbedingungen sind Arduino Framework bzw. im Fall des STM32F103C8 STM32Duino. Hat einer mit
dringend die NRF5x von Nordicsemi anschauen. Das sind eigentlich NRF24 Radios mit integriertem Cortex-M0 (oder -M4) µC Kern. Damit spart man sich den STM32 oder AVR komplett.
-
Thread
STM32L1 + Makefile. Linkerproblem?
/andy/stm32_discovery_arm_gcc/STM32L1_Discovery_Firmware_Pack_V1.0.3/Projects/AN3964-Temperature_sensor/main.c:290: undefined reference to `DATA_EEPROM_Unlock' /home/andy/stm32_discovery_arm_gcc/STM32L1_Discovery_Firmware_Pack_V1.0.3/Projects/AN3964-Temperature_sensor/main.c:293: undefined reference to `FLASH_ClearFlag' usw. usw. bis: /home/andy/stm32_discovery_arm_gcc/STM32L1_Discovery_Firmware_Pack_V1.0.3/Projects/AN3964-Temperature_sensor/stm32l1xx_it.c:189: undefined
-
Thread
S: Empfehlung nachbausicheres LC-Meter-Projekt mit Atmega
PA14 (Pin49) SWDIO an PA13 (Pin46) Kann das hinkommen? https://www.mouser.de/datasheet/2/389/stm32f103c8-1851025.pdf
des STM8, dann ST_LINK_SWIM heißend. Das sind also die Verhältnisse auf dem STM8S Discovery, das sollte so also funktionieren... Der STM8S903K3 hat nur 32 Pins im Gegensatz zum STM8S105C6T6 auf dem STM8S
-
Thread
STM32F446 - Taktkonfiguration
Schön auspacken ... Dann findest Du das File "system_stm32f4xx.c" hier: STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates > Andreas S. schrieb im Beitrag #5197887: >> Aber das ist nur meine ganz persönliche Meinung
aktiviert die Funktion den HSE. Was passiert da eigentlich, wenn gar kein Quarz angeschlossen ist? [c] static void SetSysClock(void) { #if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F401xx) || defined(STM32F412xG) || defined(STM32F413_423xx) ||
-
Thread
Module miteinander verbinden - welchen Bus nehmen?
. PIC32 kann seine UARTs mit 20 MBit/s fahren, bei STM32 ist bei 4.5MHz Schluss. TIVA 4C geht bis 10 MHz. Du kannst Dir überlegen, ob Du nur Point2Point-Verbindungen zwischen Nachbarn haben willst (dann muss
Frank K. schrieb im Beitrag #5786512: > PIC32 kann seine UARTs mit 20 MBit/s fahren, bei STM32 ist bei 4.5MHz > Schluss. TIVA 4C geht bis 10 MHz. Aus dem RM0410 (STM32F76xxx, STM32F77xxx): [pre]USART main features • Configurable oversampling
-
Thread
billige stm32 minimalsysteme für 2,99 euro - taugt das was?
Bei Aliexpress ab €1,76: http://www.aliexpress.com/item/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-Arduin0/32345958001.html?spm=2114.01010208.3.212.eQIgUY&ws_ab_test=searchweb201556_8,searchweb201602_1_10017_507_401,searchweb201603_9&btsid=690870b7-9c49-4b43-bbe6-975d1e49b182 Diskussion hier:https://www.mikrocontroller.net/forum/all?filter=STM32F103C8T6&x=0&y=0
-
Thread
Welche 32-Bit MCU für ein neues Projekt
keine 5 Volt, wenn die Versorgungsspannung aus ist. Sie vertragen dann sogar noch weniger als die STM32, nämlich höchstens 0,5 Volt. Insofern ist das kein Argument gegen STM32, sondern eher ein Vorteil!
Einarbeitung auszahlt? Eine Einarbeitung ist nicht notwendig, einzig speziell ist die PIO. Wenn Du STM32 verwendest, ist der Rest eher simpel, vielleicht sogar zu simpel. Großer Nachteil ist, daß der Programmspeicher extern angebunden ist. Für kleine, feine Sachen würde ich einen STM32G0xx empfehlen
-
Thread
Mikrocontroller für kleine Projekte Attiny & Co.
Ordere STM32f0xx. Dann hast du fürs nächste Mal eine Unklarheit beseitigt.
Oertel schrieb im Beitrag #4377207: > Ordere STM32f0xx. Dann hast du fürs nächste Mal eine Unklarheit > beseitigt. Genau. STM32F0. Für Batteriebetrieb. Urks. Die STM32F0 saufen Strom wie ein verdurstendes Kamel Wasser. Wenn schon STM32, dann
-
Thread
Interrupt verhalten bei STM32F103
Michael schrieb: ..Hattest Du nicht in Pascal programmiert? Ja und? In der Firma in C und zu Hause in Pascal. Die Umsetzung ist doch nur 1:1. Anzeige ist 1234,0389Hz, sporadisch aber 1249,7865Hz. Mit einem STM32F103C8. Wenn ich Zeit habe, baue ich das mit einem BlackPill ( STM32F413
schrieb im Beitrag #6809599: > Anzeige ist 1234,0389Hz, sporadisch aber 1249,7865Hz. > Mit einem STM32F103C8. Laß Dir mal die Zählerstände für Ereignisse und Zeit anzeigen. > Die Umsetzung ist doch nur 1:1. 1:1 kann nicht sein. Der STM32F103 hat doch garkeinen Timer9. Calon schrieb im Beitrag
-
Thread
[Umfrage] Welchen uC habt ihr bis jetzt a meisten benutzt?
PIC18F67K22: 2 PIC18F87K90 1 PIC18F86K90 1 PIC24FJ64 1 dsPIC33EP256MU806: 1 dsPIC33EP512MU810 1 PIC32MX695F512L 1 PIC32MX795F512L: 3 STM32F103CB: 2 STM32F103RB: 5 STM32F103VC: 2 STM32F407VG: 7 STM32F407ZG: 1 68HC11 1 68HC711 1 8031: 2 8052: 2 P8031 1 P80C31 1 P80C552 1 P87C751 1
PIC18F67K22: 2 PIC18F87K90 1 PIC18F86K90 1 PIC24FJ64 1 dsPIC33EP256MU806: 1 dsPIC33EP512MU810 1 PIC32MX695F512L 1 PIC32MX795F512L: 3 STM32F103CB: 2 STM32F103RB: 5 STM32F103VC: 2 STM32F407VG: 7 STM32F407ZG: 1 68HC11 1 68HC711 1 8031: 2 8052: 2 P8031 1 P80C31 1 P80C552 1 P87C751 1
-
Thread
STM32L051K8T6 wird vom ST-Link nicht erkannt
Warum ist im Schaltplan ein STM32L05 abgebildet, im Titel gehts aber um einen STM32F05?
suchen... Wie gut das viele STM32 Pin gleich sind :)
-
Thread
Probleme mit stm32f4 Discovery
set/reset low register, > Address offset: 0x18 */ > __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, > Address offset: 0x1A */[/c] /stm32f4xx.h/ > reagiert das eine nur wenn Low und das andere nur wenn High,
Code: [c]#include "stm32f4xx.h" #include "stm32f4xx_conf.h" void init_app(void); int main(void){ SystemInit(); init_app(); while(1){ if(GPIOA -> IDR & 0x0001){ GPIOC -> BSRRL = GPIO_Pin
-
Thread
Reverse engineering Autoaid / EN-Plus AC011K-AE-25 Wallbox mit ESP32
--file target/stm32f1x.cfg -c "init" -c "reset init" -c "flash read_bank 0 firmware.bin 0 0x40403" -c "exit" Open On-Chip Debugger 0.11.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org
KiB/s) ➜ ~ openocd --file interface/stlink.cfg --file target/stm32f1x.cfg -c "init" -c "reset init" -c "flash read_bank 0 firmware.bin 0 0x40404" -c "exit" Open On-Chip Debugger 0.11.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org
-
Thread
Beruflich für ARM CORTEX fit machen
ich würde mir einfach ein einfaches stm32Discovery Board für ein paar Euro besorgen und loslegen. Sehr empfehlen kann ich die kostenlose IDE EMBITZ: Das Board: https://www.amazon.de/STM32-von-ST-STM32VLDDISCOVERY-Discovery-STM32-F100RB
PORTC = PORTC & (~(1 << iPin)) | (((uint8_t) value) << iPin); } } int main (void) { setPin (0, 3, 1); setPin (1, 2, 0); }[/c] Auf einem STM32F103 Cortex-M3 könnte man das so ändern: [c]void setPin2 (uint8_t iPort, uint8_t iPin, bool value) { *((volatile uint32_t*) (0x40010800 + iPort
-
Thread
IAR for ARM - IRQ-Funktion nur kompiliert wenn im Code referenziert
Folgender Code für IAR Embedded Workbench ARM 8.22.2: [c] #include "stm32f10x.h" /* IRQ definitions in CMSIS startup_stm32f10x */ __irq void TIM2_IRQHandler (void) { TIM2->SR &=~TIM_SR_UIF; GPIOC->ODR |= GPIO_ODR_ODR13; } void timer2_setup()
Bernd K. schrieb im Beitrag #5397912: > da hast Du Deine Hardfault-Adresse. Warum steht im STM Reference Manual "0x0000000C" als Adresse für HardFault?
-
Thread
JTAG-Adapter Black Magic Probe
) - Option RAM : 16b - System RAM : 2KiB Read-UnProtecting flash Done. stm32flash.exe -u COM6 stm32flash.exe -o COM6 // Ausgaben melden ok, weggelassen stm32flash.exe -w Blackmagic_dfu-v1.6-rc0-213-gdf7ad91.bin -v COM6 stm32flash 0.5 http://stm32flash.sourceforge.net
Option RAM : 16b - System RAM : 2KiB Write to memory Erasing memory Wrote and verified address 0x08001a54 (100.00%) Done. stm32flash.exe -e 0 -S 0x08002000 -w Blackmagic-v1.6-rc0-213-gdf7ad91.bin -v COM6 stm32flash 0.5 http://stm32flash.sourceforge.net/ Using Parser : Raw BINARY Interface
-
Thread
Suche Assembler für 32-bit ARM
Peter H. schrieb im Beitrag #4432869: > Meine Befürchtung > ist, das ich mit STM32 + C nicht viel mehr erreiche. Mit halbwegs ordentlichem C Code kannst du natürlich ein vielfaches der Leistung aus einem Cortex-M4, wie zB STM32F4, erreichen als wie mit dem AVR. Wie wärs damit,
sei es Emacs (obwohl vi besser ist ;-) Somit ist es völlig wahlfrei, ob man nun in Assembler oder C oder C++ programmiert. > Finde aber nur C bis zum abwinken. Meine Befürchtung ist, das ich mit > STM32 + C nicht viel mehr erreiche. Wie kommst Du auf die Idee? Ein STM32 mit ARM Cortex Kern
-
Thread
atomic-lib für stm32
: [c] #define ATOMIC_BLOCK for( uint32_t __cond = 1, __prim = __get_PRIMASK(); __cond != 0 ? __disable_irq() : 0, __cond != 0; __prim == 0 ? __enable_irq() : 0, __cond = 0 ) [/c] Damit man es nachvollziehen
: > A.K. hat das Problem schon ca. 5 Beiträge weiter oben erklärt: > Beitrag "Re: atomic-lib für stm32" Stimmt, da fehlt was. Mach mal [c] #define ATOMIC_BLOCK(type) for( uint32_t __cond = 1, __prim = __get_PRIMASK(); \ __cond != 0 ? (__disable_irq(), 0) : 0, _
-
Thread
Runtime Libs aus gcc-arm-none-eabi
make arm-none-eabi-gcc -Wall -Os -funsigned-char -xc -mlittle-endian -mthumb -mno-thumb-interwork -c -mcpu=cortex-m3 -mno-tpcs-frame -gdwarf-2 --function-sections -oo/stm32f10x_dma.o stm32f10x_dma.c arm-none-eabi-gcc -Wall -O0 -funsigned-char -xc -mlittle-endian -mthumb -mno-thumb-interwork -c
--function-sections -oo/misc.o misc.c arm-none-eabi-gcc -Wall -O0 -funsigned-char -xc -mlittle-endian -mthumb -mno-thumb-interwork -c -mcpu=cortex-m3 -mno-tpcs-frame -gdwarf-2 --function-sections -oo/stm32f10x_tim.o stm32f10x_tim.c arm-none-eabi-gcc
-
Thread
Welches der beiden Dev.Boards?
Ich würde den F103c8t6 nehmen. Die Boards gibt es spottbillig bei eBay und Aliexpress. http://m.ebay.de/itm/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-Arduino-/311156408508 Nimm noch nen st-link
Entwicklung mit 8051 gäbe, aber als Einstieg? Wenn es nur um uVison geht, dann kann man ja die Keil-STM32F0 Edition benutzen: http://www2.keil.com/stmicroelectronics-stm32/mdk Die ist ohne Limits und kostenlos. Dazu eins (mehrere) STM32F0 Nucleos und los gehts.
-
Thread
Suche günstige 32Bit MCU Plattform ähnlich Arduino
STM32-Olimexino: https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/open-source-hardware
Boards mit neueren originalen STM32, zum Beispiel dieses von RobotDyn: http://stefanfrings.de/stm32/stm32f3.html#stm32f3mini Ansonsten könnten auch die Nucleo Boards von STM für dich interessant sein. Einige davon stelle ich auf
-
Thread
LPC1100, superguenstig, 8-bit? Wird immer unnoetiger
: > Also ich habe das Inserat so verstanden, dass 8 St. soviel kosten. Ist so. Hab's mit dem STM32F101C6 (32K/36MHz) vom gleichen Shop ausprobiert. Liess sich astrein mit der Flussmittel+Entlötlitzenmethode einlöten. Mega32/644 ade.
definiert Prioritäten als 8-Bit Werte. Von denen aber nur N Bits implementiert sind (Cortex-M3: wählbar, STM32=4; Cortex-M0: fix=3). Und diese N Bits stehen linksbündig im betreffenden Register, d.h. beim CM0 werden effektiv die Werte 0x00,20,40,60,80,A0,C0,E0 unterschieden. CMSIS bildet diesen Wertebereich
-
Thread
stm32 Problem
implicitly assert_param(IS_RCC_CLEAR_IT(RCC_IT)); stm32f0xx_rcc.c: 36 warnings, 0 errors compiling Buttons_STM32F0-Discovery.c... compiling LED_STM32F0-Discovery.c... assembling startup_stm32f051.s... compiling system_stm32f0xx.c... linking... .\
implicitly assert_param(IS_RCC_CLEAR_IT(RCC_IT)); src\stm32f0xx_rcc.c: 36 warnings, 0 errors compiling Buttons_STM32F0-Discovery.c... compiling LED_STM32F0-Discovery.c... assembling startup_stm32f051.s... compiling system_stm32f0xx.c... linking... .\
-
Thread
Welcher Controller für Unterrichtszwecke?
wie ich finde. Sofern mit sachkundiger Anleitung gelehrt wird, wäre mein Vorschlag, mit einem µC auf M0/M3/M4 Basis zu beginnen. Es gibt diverse Hersteller und Typen, selber würde ich namentlich STM32G0xx oder STM32G4xx empfehlen. Mein Hauptpunkt dabei ist die SWD-Schnittstelle, die den Controller
frei und unbeschränkt erhältlich, C und C++ fähig (Das IDE ist Ecclipse und der Debugger ist dem des STM32 sehr ähnlich) Peripherie Komplexität nicht so extrem wie bei STM32 und leichter verständlich für Einsteiger. Dokumentation ist
-
Thread
STM32F0 Discovery welche Library wird genutzt (HAL oder SPL)?
nutzen will, sondern direkt die Register > beschreiben will? Guckst du hier: http://hertaville.com/stm32f0-gpio-tutorial-part-1.html Geht natürlich auch in C.
selber. Nur in Ausnahmefaellen, z.B. Philips, ist das in die Manuals eingefuegt worden. Fuer die STM32F0 waere das: Cortex™-M0 Technical Reference Manual ARM DDI 0432C Viel Erfolg!
-
Thread
Nächster Schritt nach AVR: Empfehlungen gesucht
STM32L0: Das schaue ich mir gerne an, danke!
immer mehr zur Mono-Kultur. Und wenn was nicht geht, dann war es das, gerade noch mal ausprobiert, ESP32-C6 kann man zwar mit "Espidf" benutzen, aber "Arduino" geht nicht. STM32C031 und STM32H503 werden auch immer noch nicht unterstützt, für den STM32C031 hatte ich sogar mal ein Board File erstellt das
-
Thread
Einstieg ARM
ARM + günstig = STM32F1DISCOVERY oder STM32F3DISCOVERY oder STM32F4DISCOVERY alles Starterboards incl. Debugger etc. an Bord (ST Link V2). Kostenlose Umgebung CooCox mit allem Pipapo was man braucht. ARM Einsteiger
Wenn du dich für den STM32 entschieden hast hier noch zwei Tipps meiner persönlichen Favoriten: http://diller-technologies.de/stm32.html und http://mystm32.de/doku.php Gruß
-
Thread
CMSIS und GNU Support
der Compiler als Implicit Declaration ohne Prototyp (=Warnung) gesehen hat. In der CMSIS Doku von STM gibt es eine farbige Grafik welche im übrigen Schreibfehler bei den Dateinamen hat. Alle stm32f10x_ppp.c Dateien benutzen assert_param welches als Makro in conf.h definiert ist. Alle ppp.c haben aber
anschliessend unpassende DMA Vorgänge daran schuld sind. Sehr schnell stellt sich stm32F10x_tim.c als Übeltäter heraus. Wenn ich hier was anderes als -o0 nehme geht nix mehr. Das riecht danach, dass irgendwo ein volatile vergessen wurde oder GCC wegen der DMA auf die Fresse fliegt. Bei
-
Thread
5-Dollar-Entwicklerboard mit RISC-V: Sipeed Longan Nano
was *wirklich* verfügbar ist. Die richtige Anlaufstelle ist vermutlich hier: https://github.com/stm32duino/Arduino_Core_STM32 Vom GD32 steht da aber nichts mehr. Das ist komisch, denn deren Plugin heißt in der Arduino IDE "STM32F1xx/GD32F1xx boards". Vielleicht hängt es damit zusammen, dass das
betreiben, wenn denn wirklich Not am Mann sein sollte: https://hackaday.io/project/158262-using-blue-pill-stm32f103c8t6-as-st-link Ein J-Link funktioniert natürlich auch. Ansonsten bieten sich fürs programmieren die diversen internen Bootloader an, d.h. UART (z.B. mit stm32flash), USB-DFU, etc. GD
-
Thread
SAM-Controller, Einstieg und Auswahl
Ein kleiner Schwenk von SAM zu STM: STM32F3 (Cortex M4F) gibt es in LQFP32 7x7mm Falls Dir 32MHz genügen: STM32L0 (Cortex M0+) gibt es ebenfalls in LQFP32 7x7mm. Einige STM32L0 Modelle gibt es auch in TSSOP20 6,5x4,4mm und in UQFP20
schrieb: Alexxx schrieb im Beitrag #5978379: > wären die > bevorzugt. Das erlaubt, bessere uC vorzuschlagen; z. B. STM32. :>>>
-
Thread
Mikrocontroller-Programmierung selber beibringen
Datenblatt das Ende vom RAM - 1 Aha. Das steht wo? Gibt's da Unterschiede zwischen LPC800, LPC1114, STM32F100 und STM152L? Vordefinierte, überall verfügbare Konstanten irgendwo? >> Wo ist der Startup-Code? > > Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset > ausgeführt. Ansonsten
Controller für den Einstieg einfacher. Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so etwas: http://fun-tech.se/stm32/OlimexBlinky/mini.php Hier im Abschnitt: 0x09 The mini example ist alles super erklärt
-
Thread
STM32 Beste/Schönste Methode um Bits in Register zu setzen
Hallo zusammen, Angeregt durch den momentan aktuellen Thread über den STM32 (http://www.mikrocontroller.net/topic/319328#new) habe ich mir auch mal ein STM32F0 Discovery zugelegt und bin nun ein bisschen am herumprobieren. Bis jetzt habe ich immer nur PIC's programmiert.
/Behcjiic.html > Wenn man natürlich im M0 Manual nachliest und dann > auch noch meint ein STM32F103 sein wohl ein M0 das meint doch keiner, die Aussage war vor allem "nicht jeder STM32 hat bit banding" (natürlich besonders die, die am besten
-
Thread
I2C auf STM32F103
[c] /* STM32 Include files ******************************************************/ #include <stm32f10x_i2c.h> /* Macro defintions ********************************************************/ #define
36MHz und habe ich geändert. Die Init ist in stm32f10x_rcc. [c] static void SetSysClockTo72(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/
-
Thread
[STM32] CMD0 liefert immer 0xFF zurück
Du hattest Recht, da hab ich etwas verdreht. Hab mir jetzt nochmal das Reference Manual und die STM32 Sourcen angesehen und meine Sende/Empfangsroutine korrigiert: [c] unsigned char spi_receive(){ unsigned char data = 0x00; spi_send(0xFF); while((SPI2->SR & SPI_SR_RXNE) == 0); data
Kuck mal in die aktuelle LIB. Dort ist ein Bsp. für die SD-Karten drin. STM32F10x_StdPeriph_Lib_V3.3.0\Utilities\STM32_EVAL\Common\stm32_eval_spi_sd.c Zumindest kannst Dir dort abkucken, wie es geht, auch wenn Du die LIB nicht einsetzen willst (Warum eigentlich nicht?).
-
Thread
AVR -> STM8/32. Was ist anders? Was zu beachten? Was benötigt? Gesperrt
da mal jemand eine beispiel machen? Sagen wir PA1 soll High, dann würde man bei AVR machen: [c] #include <avr/io.h> DDRA |= (1<<PA1); // pin als Ausgang PORTA |= (1<<PA1); // PIN auf HIGH [/c] Wie würde das nun bei ST sein? Sagen wir direkt für einen 32Bitter, sagen wir STM32F0
Projekte kommt von da her auch nur ein STM32F0xx in Frage, da ich STM32 kenne und keine Lust habe mir einen AVR dafür an zu tun.
-
Thread
UART auf Linux
------------------------------------------------------------------- STM32CubeProgrammer v2.11.0-RC1 ------------------------------------------------------------------- Log output file: /tmp/STM32CubeProgrammer_WeTggc.log ST-LINK SN :
3,25V SWD freq : 4000 KHz Connect mode: Under Reset Reset mode : Hardware reset Device ID : 0x442 Revision ID : Rev 1.0 Device name : STM32F09x/F030xC Flash size : 256 KBytes Device type : MCU Device CPU : Cortex-M0 BL Version : -- Memory Programming ... Opening and parsing file
-
Thread
Probleme beim Debuggen mit SW4STM32 und und F7Disco
ich mir jedenfalls nicht unter Hilfreich vor. Und mehr Infos hab ich leider selbst nicht. SW4STM32, Optimierungen o0, Quelltextunabhängig tritt das genannte Verhalten auf. Mehr weiß ich auch nicht.
sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); } /* USER CODE END 4 */ [/c] warum so wahnsinnig umständlich? Was spricht dagegen, dass einfach so zu machen?: [c] uint32_t PWM_Wert = 1500; uint32_t *RegPt = 0x40000434; //Adresse vom "PWM-Wert-Register" ... main()
-
Thread
Noch einer (f8); 8bit-Computing mit FPGA
nochmal mit 32 Bit vs. 64 Bit. Ich sehe den Platz des f8 unterhalb von 32-Bittern wie RISC-V. Wie viel Platz es unterhalb des f8 für diskrete µC noch gibt, weiß ich nicht. Aber irgendwann lohnt es sich nicht mehr
ist an sich sehr sinnvoll, aber für Assembler-Programmierung gedacht. Nur bedeutet es, dass eine C Operation port = port | 0x01; ohne Optimierung in Einzelbefehle umgesetzt, nicht identisch ist mit port |= 0x01; als einzelnem R-M-W Befehl. Der C Standard schreibt das jedoch vor. Und Standard
-
Thread
STM32 linker scripts
Natürlich muß die newlib auf dem STM32 laufen.
STM32F10x_StdPeriph_Lib_V3.1.2 von ST heruntergeladen. Aus dem Verzeichnis ..\STM32F10x_StdPeriph_Lib_V3.1.2\Libraries\CMSIS\Core\CM3\startup\gcc benutzte ich startup_stm32f10x_md.s als Startup-Code. Als
-
Thread
Ethernet funktionniert nicht
dns-nameservers 192.168.8.1 # Configure eth0 with dhcp IP # auto eth0 # iface eth0 inet dhcp Mein Setup ist so gemacht. Mein PC ist an Internet verbunden durch einen Huawei Giga Cube und das STM32 ist an meinem PC verbunden durch ein Ethernet
Gustl B. schrieb im Beitrag #6455504: >> 64 bytes from 192.168.8.14: seq=2 ttl=64 time=0.174 ms > ... > Frank M. schrieb: >> Deshalb: Verbinde den STM32 mit Deinem Router und versuche dann von >> dort: > > Hat er doch jetzt gemacht. Was zur Hölle ist 192.168.8.14? STM32 hat:
-
Thread
Nucleo-H743ZI in Linux und mit stlink 1.5.0
from flash bank 1 at offset 0x08100000 in 9.319505s (109.877 KiB/s) >od -c /tmp/stm32h7_bank0.bin | more 0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 4000000 <== ????? >od -c /tmp/stm32h7_bank1
128kB) not protected # 6: 0x000c0000 (0x20000 128kB) not protected # 7: 0x000e0000 (0x20000 128kB) not protected STM32H7xx 2M - Rev: Y
-
Thread
Warum sind STM32 I/Os auf 16 Bit kastriert?
das FlashSize Register diverse Adressen hat oder ganz fehlt, warum die Flash-Größe so kodiert ist: 0=A, 8K=3, 16K=4, 32=6, 64=8, 128=B, 192=Z, 256=C, 384=D, 512=E, 640=Y, 768=F, 1024=G, Franzosen und Italiener kennen sich eben mit Essen und Trinken aus. Dafür sind die STM32 doch relativ gut gelungen
ist es logisch, auch für jede Peripherie ebenfalls ein Vielfaches von 8 Bit zu benutzen. Beim STM32 gibt es genug uC Varianten, wo ein IO-Port keine 16 Bit hat sondern weniger, je nach Anzahl der Pins des uC-Gehäuses. Da alle Pins am uC Mehrfachbelegungen hat macht es keinen Sinn, einen 32bit
-
Thread
ARM STM32F103 Cortex M3 Board + Linux
Ich finde den STM32Primer2 http://www.stm32circle.com/resources/stm32primer2.php besser. Es hat alles drin, 512k Flash, 3-D MEMS-Sensor und TFT-Display. Das alles für 65,-€ ( http://elmicro.com/de/stm32primer2.html oder
0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0 flash bank stm32x 0 0 0 0 0 # Flash Teil init reset halt flash write_image erase main.elf verify_image main.elf shutdown