PWM basics on the STM32 general purpose timers

The STM32 Family processors include general purpose timers that have a nice PWM function that can handle four channels of independently controlled duty cycles. In this article I will look at how to set these up for basic use suitable for the majority of applications that need PWM signals. (more…)

Continue ReadingPWM basics on the STM32 general purpose timers

clock pulses with variable phase on STM32

The CCRx registers can be set to directly produce regular clock pulses on one or more of the output pins. Square waves are especially simple and up to four channels can have variable phase relationships. (more…)

Continue Readingclock pulses with variable phase on STM32

Basic systick configuration on the STM32

The ARM cortex M4 and M3 processors all come with a systick timer that is part of the core. The other variants, such as the M0 may not have one.  This timer is very useful for producing the main system event clock. Here I will show you how to set it up on the STM32F4xx processors to generate an interrupt every millisecond. (more…)

Continue ReadingBasic systick configuration on the STM32

An STM32F4 Project Template for Crossworks

When developing for the STM32F4, setting up a new project can be a pain. Without some kind of wizard or configuration tool, there are always loads of obscure settings that have to me made each time. The easiest way around this is to make a simple template for the STM32F4 that has all the basic features set up already and then copy or clone it every time you start a new project. (more…)

Continue ReadingAn STM32F4 Project Template for Crossworks

Quadrature encoders with the STM32F4

Most commonly, the speed and direction of the motors in a micromouse or other small robot will be read from quadrature encoders connected to the drive train. One of the great things about the STM32F4 processor is that it can read these directly. Quadrature Encoder Signals A quadrature encoder generates…

Continue ReadingQuadrature encoders with the STM32F4

Open Source STM32 Book

Lucky students at Indiana University might like to enrol on the [C - H]335 Computer Structures course run by Geoffrey Brown. If they do, they will be treated to a great introduction to the STM32 processor. The lab manual for the course is freely available to download. The course covers…

Continue ReadingOpen Source STM32 Book

An Improved Bit Banding Approach

The commonly published approach to using the bit banding feature of the Cortex Mx family of processors is to use macros – see Bit Banding in the STM32. This post describes an alternate implementation that uses a dedicated RAM section for bit banding.
(more…)

Continue ReadingAn Improved Bit Banding Approach