Category: Tutorials

STM32CubeMX embedded software libraries 0

Manage embedded software libraries with STM32CubeMX

Starting with STM32CubeMX version 4.27.0 ST added an option to manage embedded software libraries directly into CubeMX and have fully integrated graphical tool to configure project into very details before building application in final toolchain (Keil, IAR, TrueSTUDIO, …). Embedded software libraries are libraries (also) provided by STMicroelectronics. You will notice them with X-CUBE-library_name name format, like X-CUBE-MEMS1 which is complete solution for ST MEMS sensors. Steps to follow To enable embedded libraries to be added to CubeMX, please follow steps, explained...

Getting started with STM32 step-by-step 0

Getting started with STM32 step-by-step

STMicroelectronics recently launched STM32 step-by-step learning program to educate and speed-up learning curve. It is ready for beginners and everyone interested to learn STM32 ARM-Cortex-M based microcontrollers together with its ecosystem around microcontroller itself. From beginner to pro in 5 steps Step 1: Pre-requisites: In this part, user must install all required software tools and make sure it has board for further development Step 2: LED blinking using STM32CubeMx and NUCLEO-L476RG development board Step 3: UART interface on NUCLEO-L476RG and L475 IoT...

C style and coding rules 0

C code style and coding rules

I’ve been trying to make my own C code style and coding rules approach, to be used in all my libs. From my first coding experience till today, I changed style many times, from first STM32F4 Library to latest projects, such as ESP_AT_Lib, onewire_uart and others.   Code style rules are published and regularly updated on my Github account, under c_code_style repository name. Please use URL below to access website: https://github.com/MaJerle/c_code_style It was originally inspired by LwIP coding style with some modification....

STM32 tutorial: Efficiently receive UART data using DMA 21

STM32 tutorial: Efficiently receive UART data using DMA

U(S)ART peripheral can work very good by using RXNE (Receive Not Empty) for each byte separatelly. In this case, every received byte is manipulated by CPU by jumping to appropriate UART interrupt service routine. To allow CPU to do fully other job when we receive UART data at high speed we can use DMA (Direct Memory Access) to offload CPU. We can think of DMA as co-processor who can only transfer data between different memories, in our case between peripheral data register UART...

Tutorial – Jump to system memory from software on STM32 9

Tutorial – Jump to system memory from software on STM32

One of you are already familiar with STM32 feature of embedded bootloader for software download to flash. This memory is called system memory and is normally accessible with BOOT configuration (either pin hardware or option bytes (later OB) in flash software). Normally, if you want to jump to system memory, you have to setup pin/OB and reset device. If you have OB setup, this is ok, but since you need at least one BOOT pin in hardware, this can lead to hardware...

How to use scanf with USART 3

How to use scanf with USART

I’ve already posted how to use printf (send data to stream) on STM32Fxxx devices. Recently, I received a comment, how to use scanf function to read strings and convert them from USART. Here is a little bit more to do before it will work correct. When you call scanf function, it calls subfunction fgetc, where you return a character. This function is called until it does not return EOF (-1). And it is called very fast. If you check in this function, if...