Tagged: stm32f4

All STM32 HAL libraries 106

All STM32 HAL libraries

In this section, I will write all libraries based on HAL drivers from ST. If you see this first time, make sure you read this post first about how structure of my libs looks like! License All my softwares are published under MIT license. This means that you are allow to modify, share and use my source and other stuff in personal or commercial use. If you modify source code, it has to stay under GNU GPL v3 license too. I...

New library system built on STM32Fxxx HAL drivers 123

New library system built on STM32Fxxx HAL drivers

As you maybe saw, when STM32F7-Discovery board arrived, I switched to make libraries also for this board. And if you want easy libs for this boards, you have to switch to HAL drivers provided from STMicroelectronics. HAL drivers are basically supported for all STM32 families, so I decided to make a library in a way, that will be very easily to used with any STM32 family, especially targeted to these 3 series: STM32F0xx: For very basic and small project can...

Disable peripherals in debug mode on STM32F4xx 0

Disable peripherals in debug mode on STM32F4xx

Have you ever used watchdog in your application? Have you ever debug your application when watchdog was enabled and you hit stop? Watchdog did not stop in this case and when you pressed “continue” in your debugger, your program starts over because WDG has reset your system. One choice is that you remove line where you initialize IWDG, but you then must recompile and redownload and all that stuff. Wasting useful time. To avoid this problem, STM32 devices have possibility...

How to properly enable/disable interrupts in ARM Cortex-M? 9

How to properly enable/disable interrupts in ARM Cortex-M?

Point of this post is not how to use NVIC (Nested Vectored Interrupt Controller) in Cortex-M processors but how to disable/enable interrupts properly for your system to avoid strange behaviours in your code. Let’s assume you have 2 functions, which do some important stuff and they have to make sure that noone interrupts these 2 functions

ARM Cortex-M SCB ICSR register structure. From arm.com 1

Get interrupt execution status on Cortex-M processors

You might come to a situation when you wanna know if current code is executing inside interrupt or not. This might be handy when you do a library and you have one function which you wanna call in interrupt handler for specific event or without interrupt handler, buf wanna execute something specific in function only if you are currently in interrupt. You can create 2 different functions of course, but what if you have one very big function, and for...

SSD1306 OLED I2C LCD with STM32F4 47

Library 61- SSD1306 OLED I2C LCD for STM32F4xx

Yeah, I got it too. These little, small and with nice contrast devices are really great. I2C communication from my module isn’t really powerful because of slow I2C, even at 400kHz. To update full LCD, there are 1024 bytes of data to be transfered. And this can really take a while. But anyway, for having this LCD just to showing small updates and notifications for users in your project, I2C is still nice. Probably I should make it using I2C...