-
Thread
STM32 INT wird sofort ausgeführt
dem Code unten. Die 38us ergeben mit 8MHz Takt genau 304, das scheint zu passen. [c] #include "stm32f0xx.h" extern void Config_TIM16 (void); int main(void){ RCC->APB2ENR |= RCC_APB2ENR_DBGMCUEN; DBGMCU->APB2FZ|= DBGMCU_APB2_FZ_DBG_TIM16_STOP; RCC -> AHBENR |= (RCC_AHBENR_GPIOAEN
-
Thread
STM32 I2C direkt über die Register
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 nichts. > Was natürlich nicht heißt, dass man sich von HAL-Projekten nicht > inspirieren lassen darf
Register-Quelle dankbar. Wie weiter oben schon geschrieben: in den Anhängen zum Referenzhandbuch des STM32F0 sind schöne, kurze Beispiele angeführt. Beim STM32F4-Referenzhandbuch scheint es die leider nicht zu geben. Allerdings sind die Register für eine spezifische Schnittstelle wohl ziemlich identisch
-
Thread
ARM-Cortex als Anfänger?
etwas Erfahrung empfehle ich recht schnell den Wechsel zum ARM, da hier viel mehr möglich ist. z.B. STM32F0 Reihe. Artikel: [[STM32 für Einsteiger]]
möchte. Bei AVR ist das kein Problem. Ich sehe da auch bei den ARMs kein großes Problem. Die STM32F0 laufen ab 2V bis 3,6V. Wenn es sparsam sein soll würde ich aber sowieso mit Stepdown arbeiten. > Chris D. schrieb im Beitrag #4954114: >> Also: entscheide selbst :-) > > Das kann er aber erst
-
Thread
Totzeitrechner
ohne 5min draufstarren und Taschenrechner geht da nichts. Hoffe es hilft. Getestet auf einem STM32F0. Input: Timerfrequenz und gewünschte Totzeit Output: Registerwert Evtl. kann das ja mal einer in schön machen und gleich mal gucken ob irgendwo n Bug drinnen ist
-
Thread
Class B Software
STM32F0/3/ ist VDE zertifiziert http://www.st.com/en/embedded-software/stm32-classb-spl.html
-
Thread
STM32 Timer (PWM)
mit einem zusätzlichen Teiler oder Multiplikator. Da du von 48MHz ausgehst tippe ich mal auf einen STM32F0 und da läuft im einfachsten Fall einfach alles mit 48MHz (uC, sowie sämtliche Timer). Hat man einen F1, F3 oder F4 sieht das schon wieder ganz anders aus. Einfach mal im Handbuch nach "clock tree"
-
Thread
[STM32] HAL vermeiden?
Ich habe nochmal im Datenblatt des STM32F0 gestöbert und unter der obigen Tabelle noch die "Figure 23" gefunden, auf die sich die Frequenzangaben der Tabelle beziehen sollten (siehe Fußnote 3 unter der Tabelle). Dort wird es offensichtlicher
komme. Aber ich wollte mich eh wieder meiner elektronsichen Leitspindel widmen, da kann ich auf dem STM32F0-Discovery auch mal einige Pins für Tests zweckentfremden ;-)
-
Thread
STM32 Default Bootloader ersetzen
beschreiben? AFAIK ist das ROM. Kein Flash. Nein, es dürfte sich um Flash handeln: Aus der STM32F0-Referenz: "It is programmed by ST when the device is manufactured, and protected against spurious write/erase operations." Allerdings hört sich das auch nicht so an, als gäbe es nochmals die
beschreiben? AFAIK ist das ROM. Kein Flash. > > Nein, es dürfte sich um Flash handeln: > > Aus der STM32F0-Referenz: > > "It is programmed by ST when the device is manufactured, and protected > against spurious write/erase operations." Oh, interessant. Da lag ich wohl falsch. Aber egal, beschreibbar
-
Thread
STM32F0 Verständnisproblem Clock Konfiguration bzw. Clock Tree
Forum, ich beschäftige mich hobbymäßig nun einige Wochen mit den STM32. Hierzu nutze ich ein STM32F0 Discovery, Visual GDB und die HAL Lib. Visual GDB bietet bei Erstellung eines Projektes eine Option zur Einstellung der Arbeitsfrequenz an. Dort arbeite ich mit dem Default von 8MHz. Bei Konfigurationen
Laut dem angehängten Diagram hängt der TIM2 hinter HPRE und PPRE. Eine Sache, über die ich beim STM32F0 Nucleo gestolpert bin (und das scheint beim Discovery genau so zu sein), ist das am HSE kein Quarz hängt, sondern der MCO vom Debugger, über welchen der STM32F0 mit 8MHz versorgt wird. Wenn man den
-
Thread
[STM32] DOGM204-A / SSD1803A Library
Demo-Funktionen für so ziemlich alles was der Display-Controller her gibt. Ich habe den Code auf einem STM32F0 getestet. Der Demo-Code geht davon aus, dass am PA0 die Reset-Leitung des Displays angeschlossen ist um das Display am Anfang einmal zurückzusetzen. Für HAL-Hasser sollte es auch keine große Hürde
des Displays abfragen ob es denn bereit für den nächsten Befehl ist. Mein Code war ja für einen STM32F0. Das zeigt leider genau was auch der Kritikpunkt vieler Leute an der HAL ist. Es ist eben keine echte Abstraktion, sondern man muss sich doch wieder mit Controllerspezifischen Flags rumschlagen
-
Thread
Welches stm32 Entwicklungsboard?
Tutorial von diller-technologies und du solltest für den Einstieg gut ausgerüstet sein. Für den STM32F0 gibts bei Keil keine Codebegrenzung. Das mal als Hinweis falls es ein großes Projekt werden soll.
-
Thread
[STM32] ext. Int. und arm-gcc Fehlermeldung: 'assert_param' was not declared in this scope
dazugenommen (Vers. 1.3.0,) und ins Projekt die Files (.c->.cpp umbenannt und .h) mit aufgenommen: - stm32f0xx_exti.* - stm32f0xx_misc.* - stm32f0xx_syscfg.* Beim compilieren bekomme ich jetzt die Fehlermeldung > projektspez-file.cpp:246:24: error: 'assert_param' was not declared in this scope Andere
mit ext. Interrupts habe ich übrigens von http://www.hertaville.com/external-interrupts-on-the-stm32f0.html -- edit: 2. Parameter bei NVIC_SetPriority() vergessen :(
-
Thread
AVR -> STM8/32. Was ist anders? Was zu beachten? Was benötigt? Gesperrt
auf HIGH [/c] Wie würde das nun bei ST sein? Sagen wir direkt für einen 32Bitter, sagen wir STM32F0. Halten wir auch "erstmal" an dem fest. Sinn dieses Thread ist es das ich das ganze ein wenig verstehe und mich doch dazu "bewegen" kann auf STMs zu "wechseln". Was ist "besser"? Also ich habe
ich problemlos auch die PLL dazu nehmen. Und für kleinere 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
STM32F0: Programm wird nach dem Reset nicht mehr ausgeführt?
Hallo, ich programmiere meinen STM32F0 über den Programmieradapter ST Link V2. Solange dieser mit meiner Platine/ dem STM verbunden ist, kann ich den µC "resetten" und danach wird wieder das zuletzt auf den STM geladene Programm ausgeführt
Was für eine Umgebung hast du denn. STM32F0 ist die Gruppe der Chips. Da gibt es hintendran noch den Chip selbst. Ist das ein fertiges Board oder selbst gemacht. ST Link V2 gibt es auch aus dem fernen China oder von ST direkt. Mit welchem
-
Thread
if-Bedingung Problem
Beitrag #4904679: > Mit welchem Compiler hast du das getestet? Keil µVision und als µC einen STM32F0 Mathias schrieb im Beitrag #4904673: > Wenn dir der Unterschied wichtig ist, dann schreib die konstanten mit > "f" am Ende, also "0.4125f" Super, das funktioniert. Verstehe ich das richtig
> > Weil für den AVR auch ein Double ein Float ist ;) Im ursprünglen Post ging es um einen STM32F0 (kam erst später raus) Es ging mir nie gegen Fließkomma-Typen, nur gegen float. Denn double ist besser. Auch auf einem AVR spricht nichts dagegen double zu nehmen (auch wenn es nur ein float
-
Thread
STM32F030CC Bootloader Flash löschen
einen Rat bzw. Aufklärung. Ich bin gerade einen Bootloader zu schreiben der auf verschiedenen STM32F0 Controllern funktioniert - soweit so gut - für Controller mit 1k Pagebreite funktionert das jetzt auch recht stabil. Jetzt habe ich aber einen STM32F030CC mit 2k Flashpagees und scheinbar klappt das
-
Thread
STM32F072 GPIO von Output nach Input umschalten = Prozessor tot
MW_GPIO::PinChangeDirection(bool in_out)[/c] umgeschaltet. Diese Fkt. ist eine Kurzform aus der stm32f0xx_hal_gpio.cpp, HAL_GPIO_Init(). Ein Reset hilft danach nicht, der Prozessor ist definitiv im Eimer, weil die 2 an PB3 und PB4 angeschlossenen LED's nicht mehr blinken sondern nur noch bestenfalls
-
Thread
STM32 HAL Tutorial
release of STM32CubeF0 firmware package - Getting started with the STM32CubeF0 firmware package for STM32F0 Series (UM1779) - Description of STM32F0xx HAL drivers (UM1785)
Das hier ist übrigens auch ganz nett für den ersten Einstieg: http://letanphuc.net/2015/06/stm32f0-timer-tutorial-and-counter-tutorial/ Bei mir läuft jetzt, dank euerer Hilfe: - Timer Interrupt - PWM - UART
-
Thread
STM32F427 wird sehr heiß
...ich kenne diesen Effekt von kaputten STM32F0 die an einem I/O-Pin mal eine zu hohe Spannung abbekommen haben (auch wenn nur für Sekundenbruchteil). Controller läuft noch, aber wird heiß und zieht viel mehr Strom als normal. Aber vorher
-
Thread
Debian OpenOCD STM32F042 -> Cannot identify target as a STM32 family
STM32F042 flashen. Folgenden Problem: [code] $ openocd -f interface/stlink-v2.cfg -f target/stm32f0x_stlink.cfg -c init -c "reset halt" -c "flash write_image erase "main.bin" 0x08000000" -c "reset run" -c shutdown Open On-Chip Debugger 0.8.0 (2014-10-20-21:48) Licensed under GNU GPL v2 For
SWIM v4 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.227803 Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints target state: halted target halted due to debug-request, current mode: Thread xPSR: 0xc1000000 pc: 0x1fffcb44 msp: 0x200014c0 auto erase enabled
-
Thread
STM32 Einstieg
für überteuert - aber einfach unnütz. Ich würde mir als Anfänger zum Reinschnuppern bspw. das STM32F0DISCOVERY-Board holen. Damit kann man Programmieren, debuggen etc. und die Platine lässt sich wunderbar auf eigene Lochrasterplatinen mit Hardware stecken (eine Lochrasterplatine ist sogar schon dabei
-
Thread
externer Interrupt STM32F303
>Doch nur geraten? schon gemacht, mit STM32F0
rtfm schrieb im Beitrag #4886370: >>Doch nur geraten? > schon gemacht, mit STM32F0 Einer Arbeitet mit igrend einer HAL, einer mit stdperiph_lib, einer mit CubeMX. Irgendwo muss halt der Interrupt eingeschaltet werden. Ob das nun ausgerechnet in deiner HAL automatisch geschieht
-
Thread
STM32: SPI Empfang einschalten wenn Senden beendet
Hallo zusammen, ich möchte eine SPI Verbindung (Vollduplex) zwischen zwei STM32F0 aufbauen. Der Slave soll standardmäßig empfangen und nur, wenn er auf einen Befehl antworten muss, senden. Der Slave erkennt anhand der Tx-Callback Routine (ich verwende HAL), dass er mit seinem
-
Thread
STM32F0xx IWGD Berechnung
Nabend, Komme gerade irgendwie nicht klar. Versuche den IWGD Watchdog zu Initalisieren. Dabei hat nur leider mein Reload Wert keinen Einfluss auf das auslösen. Berechne ich sicherlich falsch... Der RC Oszi. läuft bei dem IWGD mit ca. 40kHz und einem Prescaler von 4?! Default?! Man soll laut Datenblatt einen min/max Wert von ~0,1ms/28,3sec. Bei meinen Rechnungen komme ich nur auf die 0,1ms. Gerechnet habe ich.: 40kHz / 4 * Reload_Wert. Was mache ich falsch? Hier die Init.: [c] RCC_LSICmd(ENABLE); IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); IWDG_SetPrescaler
-
Thread
Flash-Problem mit STM32F1 China Board
OpenOcd unterstützt den stm32f1 nicht [c] > ls stm32f* stm32f0discovery.cfg stm32f3discovery.cfg stm32f4discovery.cfg stm32f334discovery.cfg stm32f429discovery.cfg /usr/local/share/openocd/scripts/board 01:06:50 > [/c]
/c] das Board finde ich nicht bei /usr/local/share/openocd/scripts/board [c] > ls stm32f* stm32f0discovery.cfg stm32f3discovery.cfg stm32f4discovery.cfg stm32f334discovery.cfg stm32f429discovery.cfg [/c] https://github.com/texane/stlink/issues/543
-
Thread
Suche kleines, schnelles PWM-Bauteil
Ausflügen zu anderen Familien (8051, 68HC11, PicoBlaze,...). In aktuellen Projekten kommen bevorzugt STM32F0 und STM32F4 zum Einsatz. Und natürlich MicrobenController (tm) à la AVR Tiny10 im SOT23-6.
-
Thread
STM32 USART: es wird nichts gesendet
die AF für UART muss für beide Pins aktiviert werden. Etwas in dieser Richtung. Bei mir ist es ein STM32F0 mit der UART1 [c]// Beide IO's der AF zuweisen // (Wichtig: nicht zusammenfassen wie bei GPIO_InitStructure.GPIO_Pin sondern einzeln aufrufen!) GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_
-
Thread
Bootloader Funktionen wieder verwenden (STM32F0xx, GCC)
Hallo, ich schreibe gerade eine Anwendung auf einem STM32F070 mit GCC. Nach dem Start soll ein Bootloader überprüfen, ob sich die Datei 'image.bin' auf einer SD Karte befindet. Falls ja wird die Firmware aktualisiert. Soweit kein Problem, SD Karte und FATFS laufen. Da ich den SD Karten Zugriff und FATFs auch im Hauptprogramm benötige läge es ja nahe die entsprechenden Funktionen aus dem Hauptprogram aufrufen zu können. Ich habe so etwas in vereinfachter Form schon einmal gemacht, indem ich die Adressen der Funktionen im Bootbereich über Funktionspointer aus dem Hauptprogramm aufgerufen
-
Thread
Hardware Fuse gesucht
ominöse IC an I2C so macht... Meine Idee wäre: Dieser Ominöse IC ist ein µC, z.B. ein kleiner STM32F0. Dieser arbeitet als Slave am I2C Bus. Der Haupt-Controller gibt den Befehl "Zerstöre dich", entweder per I2C Befehl oder einem IO Pin, darauf hin löscht der IC mit einem Mass-Erase Befehl seinen
-
Thread
Wahl vom richtigen Mikrokontroller
Meine Empfehlung: STM32F042 - Cortex-M0 mit CAN Programmierumgebung: - Keil - Für den STM32F0xx gibt es für Keil sogar eine kostenlose Lizenz - Code-Generator CubeMX von ST, damit werden alle IO's, Peripherie und Clock's initialisiert und er erstellt eine kompletten Source-Code mit allen
*1) http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f0-series/stm32f0x2/stm32f042c6.html *2) http://www.keil.com *3) http://www2.keil.com/stmicroelectronics-stm32/mdk *4) http://www.st.com/en/development-tools/stm32cubemx.html *5) http://www.st.com
-
Thread
PWM Inverter mit positiver Flankenverzögerung
Was ist dir denn an dem bisherigen Mikrocontroller zu groß? Hast du mal die STM32F0 angeschaut, die haben auch eine integrierte Totzeiterzeugung, vielleicht sind die dir klein genug?
-
Thread
RTOS, auf free warten?!
hat nur der cmsis wrapper von FreeRTOS seine Schwächen?! https://github.com/dobromyslov/argonio-stm32f0-cmsis-hal-freertos-example/blob/master/lib/argonio-stm32f0-freertos/Source/CMSIS_RTOS/cmsis_os.c#L908 Sehr schade, ich hätte den gern intensiv eingesetzt, um auch im Notfall das OS noch tauschen
-
Thread
STM32: Problem mit SPI und Chip Select
Hallo zusammen, ich programmiere mit dem STM32F0 und der HAL-Lib und habe ein Problem. Ich will per SPI 24 Bit senden, allerdings kann ich bei hspi1.Init.DataSize maximal 16 Bits auswählen für ein zu sendendes Paket. Also habe ich 8 Bits ausgewählt
-
Thread
ADC Messbereich verschieben nach 3,0 - 4,2V
die Messung in den Bereich verschiebe. Tatsächlich nehme ich zum Basteln inzwischen meist einen STM32F0/1/4xx oder STM32L0xx aber eben auch den verpönten Arduino Uno / Mega oder Nano, je nachdem, ob ich gerade ein neues Display ausprobiere oder wie hier ein neues "Wissensfeld", dann ist der Arduino
-
Thread
IAR EW for ARM - Debug vs. Release
Simulator geladen (alternativ kann ich natürlich auch einen konkreten uC + Debugger, z.B. LPC11U35 oder STM32F0xx jeweils über SWD mit JLINK als Debug-Probe angebunden auswählen - ändert nichts am Ergebnis). IAR erstellt automatisch einen Breakpoint am Anfang von main() und wartet dort darauf, dass mit
-
Thread
STM32 externen Takt verwenden
Hallo, ich habe auf meiner Platine einen 8 MHz Quarz für die externe Taktversorgung meines STM32F0 vorgesehen. An diesem messe ich mit dem Oszi allerdings keinen Takt und ich verstehe nicht aus welchem Grund. Kann es sein, dass der Quarz keinen Takt ausgibt, solange bei meinem µC die interne
kompl schrieb im Beitrag #4813239: > STM32F0 Welcher Typ ist es denn genau? > An diesem messe ich mit dem Oszi allerdings keinen Takt Die Belastung durch den Tastkopf könnte die Taktversorgung aus dem Tritt bringen. Gibt es bei Deinem
-
Thread
Codeeingabe mit wenig Leitungen für SPS
Controller, die in diesem Forum auch gerne erwähnt werden und von einigen eingesetzt werden. Son kleines STM32F0- oder STM32F4-Discovery-Board ist sogar ähnlich billig wie ein Arduino UNO. Aber es ist halt nicht so verbreitet wie Arduino, die "Maker" sind auch eher auf Arduino/AVR und vereinzelt auf PICs
-
Thread
STM32F0 HAL Spi Beipiel
Guten Abend, ich suche ein Beispiel für das Senden eines SPI-Signals mit dem STM32F0 und der HAL. Kennt ihr ein gutes Tutorial dafür?
-
Thread
stm32f0 i2c interrupt
Wenn Du die SPL benutzt hast Du Beispiele dabei: LM75 mit IRQ - STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Examples\I2C\I2C_TSENSOR Board2Board - STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Examples\I2C\I2C_TwoBoards das dürfte genau
-
Thread
Sensordaten über NFC oder RFID
Anhang eine von mir verwendete Version des MoDems, welche für 3V-Mikrocontroller, in diesem Fall STM32F0, angepasst wurde. Damit kann die MCU z.B. dynamische Daten mit einem Smartphone austauschen. Die Antenneninduktivität und C1 kannst Du entsprechend Deiner Anforderungen anpassen. Ein PICC
-
Thread
Basisprojekt STM32F0 KeilµVision4 anlegen: fatal error 'stm32f0xx_gpio.h' file not found
ich nun aber z.B. die GPIO-Lib einbinden will, dann kommt folgende Fehlermeldung: fatal error 'stm32f0xx_gpio.h' file not found Zu meinem Vorgehen: 1) Bibliotheken von ST gedownloadet 2) (In dem Dialogfester links) die .h und .c Datei für die GPIOs in die Projektstruktur eingebunden 3) Bei
Erstelle Ordner und kopiere folgende Files aus der SPL in den jeweiligen Ordner: \cmsis_Boot stm32f0xx.h stm32f0xx_conf.h system_stm32f0xx.c system_stm32f0xx.h \startup startup_stm32f0xx.s \cmsis_CoreSetup core_cm.h core_cm4_simd.h core_cmFunc.h core_cmInstr.h \StdLib_inc Deine
-
Thread
st-linkv2 (china) mit st-flash (linux) nicht alles loeschen
:= 2>/dev/null endif OOCD ?= openocd OOCD_INTERFACE ?= stlink-v2-1 OOCD_TARGET ?= stm32f0x ifeq ($(OOCD_FILE),) %.flash: %.elf @printf " FLASH $<\n" $(Q)(echo "halt; program $(*).elf verify reset" | nc -4 localhost 4444 2>/dev/null) || \ $(OOCD) -f interface/$(OOCD_INTERFACE
-
Thread
Neue 8-Bit Tinys vorgestellt: 417/814/816/817 Gesperrt
Ich bin mal auf die Preise gespannt. Daraus ergibt sich, ob sich projektweise ein Rückschritt vom STM32F0xx rechnet.
-
Thread
"Universalprogrammer" für Linux
programmierbaren Devices umfasst derzeit etwa 400 Typen, wobei teilweise auch generische dabei sind (z.B. STM32F0xx-32K), die meherere Typen abdecken. Programmiert werden können: - Atmel AVR (SPI) - Atmel ATxmega (PDI) - Cypress PSOC4 (SWD) - Microchip PIC10xx/PIC12xx/PIC16xx - Microchip PIC18xx - Microchip
-
Thread
µC mit 3 Phase PWM Hardware
Ich habe sowas mit nem kleinen STM32F0 realisiert, der hat auch entsprechende PWM-Hardware mit Totzeit und 6 Kanälen.