Questions tagged [stm32]

The STM32 is a family of microcontrollers from ST Microelectronics, based on the Cortex M0, M0+, M3, M4, or M7 ARM core (depending on the product line).

The STM32 is a product line from ST Microelectronics using 32-bit Cortex-M microcontrollers and/or Cortex-A microprocessors. There are a variety of microcontrollers with different power consumption and performance characteristics. Some microcontrollers also offer DSP and floating point functionality.

In addition to the line of microcontrollers, ST also offers a number of different evaluation boards and development boards. These boards contain a microcontroller on a PCB with additional support electronics and various sample sensors. The STM32CubeIDE Integrated Development Environment supports software development for these products.

Two such product lines are the Discovery kits such as the STM32F0DISCOVERY and STM32F3DISCOVERY boards and the Nucleo product line of prototyping boards.

As of Q1/2023, the family consists of:

MPU

  • STM32MP1 - Cortex A7 & Cortex M4 big.LITTLE

Low Power

  • STM32L0 - Low-Power Cortex-M0+
  • STM32L1 - Low-Power Cortex-M3
  • STM32L4 / L4+ - Low-Power Cortex-M4
  • STM32L5 - Low-Power Cortex-M33
  • STM32U5 - Ultra Low-Power Cortex-M33

High Performance

  • STM32F2 - High-Performance Cortex-M3
  • STM32F4 - High-Performance Cortex-M4
  • STM32F7 - High-Performance Cortex-M7
  • STM32H5 - High-Performance Cortex-M33 (up to 1 GHz)
  • STM32H7 - High-Performance Cortex-M7 (up to 550 MHz)

Main Stream

  • STM32F0 - Mainstream Cortex-M0
  • STM32F1 - Mainstream Cortex-M3
  • STM32F3 - Mainstream Cortex-M4
  • STM32G0 - Mainstream Cortex-M0+ (upgrading STM32F0)
  • STM32G4 - Mainstream Cortex-M4 (upgrading STM32F3)

Wireless MCUs

  • STM32WB - M4/M0 with BLE, Zigbee
  • STM32WL - M4/M0 with LoRaWAN
5104 questions
1
vote
1 answer

STM32 Reset issues

I've programmed my STM32F401 in C and Rust but am having a problem with assembly. When I initially load the code with a Black Magic Probe, it runs fine When my board powers up or is reset, the code doesn't run. After reset, in GDB, if I try to…
Andy Preston
  • 779
  • 4
  • 9
  • 23
1
vote
3 answers

Interleaving updates of volatile variables (registers)?

I'm writing a C++ template wrapper for GPIOs. For the STM32 I'm using the HAL and LL code as basis. The GPIO initialization comes down to a series of read register to temp variable -> Mask pin specific bits in temp -> shift and write pin specific…
Stefan
  • 223
  • 3
  • 4
1
vote
2 answers

Change Address STM32F722 Program

I'm very inexperienced in STM32 programming and want to ask about firmware installment with ST-Link-Utility. I've a flight controller that must be flashed with custom firmware. The firmware provided by developer now is compiled as hex file and has…
rajadaudz
  • 11
  • 3
1
vote
0 answers

STM32G0 bootloader memory expansion problem

I've a running C application on STM32G0, it uses a bootloader but its size is almost 99.8% of all space available, this is the configuration of Bootloader Memory: //Bootloader OK Loader script: MEMORY { RAM (xrw) : ORIGIN = 0x20000000, …
Etantonio
  • 359
  • 1
  • 5
  • 13
1
vote
0 answers

stlink-org / 1.6.1 / STM32F723 / Raspberry Pi4

I have a problem with flashing proc using https://github.com/stlink-org. Using windows STM32-Utility all works fine on every programer. I also using debug which works correctly Tried on other version v1.6.1.8x or 1.5.1 - this same problem My…
VGVTKH
  • 11
  • 1
1
vote
0 answers

STM32F207 bare metal SPI RXNE and TXE not working?

I need to communicate with an eeprom chip(25lc1024) via SPI. I can get the following code to work but have to resort to delays isntead of the flags alone. Otherwise I can see on the scope that it is not waiting for all the bits to be shifted out and…
qwazar
  • 11
  • 1
1
vote
1 answer

How to organize freeRTOS project

I am new in the world of freertos, I have to do a project that consists of an automatic alcohol dispenser that measures temperature. The parts/sensors of my project are: DHT22 for temperature (I know its not ideal but its the only one that I…
1
vote
0 answers

Why are my DFSDM register bits not changing on my STM32L476?

I am facing a problem with the DFSDM (Digital Filter for Sigma-Delta Modulation) of my STM32L476RE. Indeed, despite the fact that I have enabled the clock for the DFSDM, all the registers related to the my filter (in the code below:…
Nil Orbach
  • 11
  • 1
1
vote
1 answer

input !== output signal - why?

I'm using a STM32G431KB Nucleo board (nucleo_g431kb - 170MHz) with PlatformIO & the Arduino framework. My simple code looks like this: void setup() { pinMode(PA11, INPUT); pinMode(PA12, OUTPUT); } void loop() { if (digitalReadFast(PA_11) ==…
André Fiedler
  • 1,093
  • 4
  • 16
  • 25
1
vote
1 answer

How can I send with two bytes a float from type %8.5f over bluetooth low energy to my android app

I try to send sensor data continuously from a stm32wb55 to my own android app. I receive two bytes from a acceleration sensor and convert those correctly on my stm32wb55 to a float with format (XX.XXXXX, float can be negative). Now I want to send…
AnBa
  • 41
  • 7
1
vote
2 answers

Calculating distance for STM32F Timer

Assume I have a STM32F4 with a system clock 8MHz, and time(TIM3_PSC = 39). I'm interfacing the ultrasonic sensor HC-SR04 I'm doing timer interrupt and would like to calculate the distance and the MAX distance that can be calculated. So my work is :…
1
vote
0 answers

Why FreeRTOS execute "main's" code after osKernelStart declaration? Code Debugging

Checking THIS answer made me a conclusion that I might do something wrong about FreeRTOS handling. This is how it looks at SWV Console Code it self is nearly freshly generated by CubeMX without any spectular changes about handling the task's (it…
user5713188
1
vote
1 answer

Set Home position for stepper motor STM32

I have a Nucleo-IHM01A1 motor driver to drive a motor mounted with a spindle. The spindle has a limited length with an object in between. As the motor spins, the object moves along the spindle. How can I set the Home position of the motor such that…
1
vote
0 answers

STM32 reading data from digimatic SPC and communication via I2C at the same time

I am working on an application running on STM32, which aims to read data from the digimatic spc protocol (mitutoyo device) and then send the data to the raspberry pi via the I2C bus. The Raspberry pi is the master on the I2C bus and the STM32 is the…
Pavel
  • 11
  • 1
1
vote
0 answers

I2C doesn't work after uploading (only sometimes)

I wrote a little program that reads I2C values with interrupts: The Problem is that sometimes it just doesn't work after uploading. I just have to run it so many times until it works (not changing anything in the code). It seems like its just…