Tutorial 8: UART (Universal asynchronous receiver/transmitter)

UART (Universal asynchronous receiver/transmitter) one of the important topic in embedded programming. In this tutorial a simple uart program was implemented. First create a project and include following libraries from repository. CMSIS RCC GPIO USART MISC Retargeted Printf All the libraries and their functions are almost same for all the libraries except Retargeted Printf. Printf…

Tutorial 6 : Pulse Width Modulation (PWM)

In this tutorial pulse width modulation application was implemented using STM32F3 Discovery board. PWM is a modulation technique that change width of a pulse. This width depend on modulator signal information. Therefor this technique can be used to encode information into a signal. And also it uses as a technique of controlling power. Here it…

Tutorial 5: Interfacing button

In this tutorial a button was interface with STM32F3 discovery board. User button attached to Pin A0 was used for this purpose. A new project was created and Libraries from repository was added as same as LED blinking project. Same libraries were added in this case also. Then following program was entered in IDE. #include…

Tutorial 4: Blinking LED using library functions

In this tutorial, blinking led application implemented using built in libraries for STM32F3VC. Using libraries make things easy and no need to go to datasheet to implement every code. Every register location is defined with human readable values and it makes things easy. First create a new project as mentioned in previous tutorials and add…

Tutorial 3 – Blinking LED without using libraries

In this tutorial a LED blinking program will be written without using built in libraries. First create a new project as discussed in tutorial 2 and select M4 CMSIS Core and cmsis_boot form repository. Now double click on main.c and enter the following code. #include <stm32f30x.h> int main(void) { volatile unsigned int i =0; RCC…

Tutorial 2 – Installing Software for STM32F3 Discovery programming

In this second tutorial software tools which is necessary to program STM32F3 is discussed. Most of software tools discussed in this tutorial series are FREE and open source. Problem with most of ARM developing tools are, they are designed for commercial use only. They offer free trial versions only with limited features. Keil Microcontroller Development…

Setting up code blocks for AVR on Ubuntu

Code Blocks is a cross platform free and open source IDE developed for C, C++ and Fotran.  This light weight IDE can be used to program AVR microcontrollers also. This tutorial is about how to install and configure Code Blocks (CB) on Ubuntu in order to program Atmel AVR microcontrollers. Step1 – Install required AVR…

Programing AVR on Ubuntu with USBasp for beginers

Microcontroller is a small chip on a computer. AVR is one of the microcontroller families  developed by Atmel. One main reason for getting such a fame for AVR is the availability of a large number of free and open source development tools compared to other similar microcntroller families. Arduino, the most famous open hardware platform…