MEMS sensor L3GD20 is included on STM32F429-Discovery board, so I made a library to use it. This is 3-axis digital gyroscope, so it can measure rotation in X, Y and Z axis. L3GD20 sensor works with SPI communication, or I2C. On Discovery board is connected for SPI mode, SPI5 is used for communication. L3GD20 can be set to work in 3 different full scales: 250, 500 and 2000 dps. Sensor has also possibility to measure temperature, but this is not...
A rotary encoder, also called a shaft encoder is an electro-mechanical device than converts the angular position or motion of a shaft to an analog or digital. There are 2 types of rotary encoders: Incremental – output indicates just rotation clockwise or counterclockwise Absolute – output indicates current position for encoder For that purpose I made a one simple library. This library works for incremental rotary encoders. It uses an interrupt to handle rotations. On the rotary encoders inside are...
Each STM32F4 device has 23 external interrupt or event sources. They are split into 2 sections. First interrupt section is for external pins (P0 to P15) on each port, and other section is for other events, like RTC interrupt, Ethernet interrupt, USB interrupt and so on. October 1, 2014: Added external interrupts library. GPIO as Interrupt Interrupt lines I will show now how to configure GPIO pin to be an interrupt and how to handle it in your code with...
Today I’ve modified USART library. My library uses receive interrupt. After that, it just save data into cyclic buffer. User actually don’t know when that happen. Today, I was working on some project, where I need to know exact time, when data arrived on USART. For that purpose, I’ve modified USART library. To be able to know exact time when data arrived, you have to add defines in your defines.h file:
//Enable custom receive interrupt handler for each USART
//Enable for USART1 and so on
//Put only this defines, you want to use
Then, you have to manually create a function...
It’s been a while when I first got ILI9341 lcd working on discovery, but without LTDC driver. Yesterday I decided to make a new library. With LTDC, you can actually display movies, because it uses parallel communication and support 2 layers simultaneously what gives you a high refresh rate. I used my old ILI9341 library and just add/modify some things to get LTDC to work. LTDC also supports 2 layers, so this means that while one layer is displayed, other layer...
Because there is a lot of libraries I have done, I will make a table with all of my libraries at one place. When new library will be created, it will be posted here. These libraries work on both Discovery boards, if not, it will be specified. Actually, libraries should work on STM32F4xx series of microcontrollers if they have peripherals that are need for library. All STM32F4xx MCUs don’t have everything inside. 🙂 Libraries are tested on my 4 STM32F4...