Sometimes you need watchdog timer to look at your system if it gets stuck. I made a little library to work with it. Watchdog in STM32F4xx device has it’s own clock which is independent from main system clock. You have to constantly reset it’s counter value or it will elapse and reset MCU. Watchdog Library Features Detect if system was reset by watchdog Supports different timeouts Reset watchdog
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...
17th library is here. I will show how to basic communicate with 2 nRF24L01+ RF transceivers. The Nordic nRF24L01+ is a highly integrated, ultra low power (ULP) 2Mbps RF transceiver IC for the 2.4GHz ISM (Industrial, Scientific and Medical) band. With peak RX/TX currents lower than 14mA, a sub μA power down mode, advanced power management, and a 1.9 to 3.6V supply range, the nRF24L01+ provides a true ULP solution enabling months to years of battery life from coin cell...
16th library is here. We will interfacing HD44780 (and its compatible) driver for alpha-numeric LCDs. Library supports up to 20 x 4 LCD size. It was tested with 20 x 4 (on picture) and with 16 x 2. HD44780 Library Features 4bit operation mode Minimum GPIOs used (6) Supports different LCD sizes Supports up to 8 custom characters Enable/disable cursor blinking Show/hide cursor Shift content in ram left/right Connection pins to board are user selectable Automatically jumps to new line...
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...
Interrupts are important in microcontrollers. WIth them you are able to stop executing main program and jump to some predefined area if there is something important. I already used interrupts in my USART library. There is an interrupt called each time data arrive to MCU. Defferent peripheral can trigger interrupt, like data come to USART, ADC finished conversion, timer overflow, and more more. NVIC NVIC or Nested Vector Interrupt Controller is used to dinamically tell which interrupt is more important and...