Working with SPI

The Serial Peripheral Interface (SPI) is a bus interface found in many devices such as DAC,ADC, EEPROM etc. SPI devices typically use two pin for data transfer. – SDI and SDO. The SPI bus has the SCLK (Serial Clock) pin to synchronize the data...

READ MORE

Basic Derivatives

In this lesson we are going to give a short revision of calculus. This will help to be able to picture backpropagation and gradient descent more easily in future lesson. You do not need to understand calculus to work with deep learning major of...

READ MORE

Understanding GPIOs

As you may know memory holds code and data for the CPU to process ,and  the I/ O ports are used by the CPU to access input and output devices. In the microcontroller we have two types of I/ O. They are: a. General Purpose I/ O (GPIO): The GPIO...

READ MORE

Introduction to UART

Computers transfer data in two ways: parallel and serial. In parallel data transfers, often eight or more lines (wire conductors) are used to transfer data to another device. In serial communication, the data is sent one bit at a time. In the...

READ MORE

Understanding the Systick Timer

The System tick timer is present in all arm cortex-m microcontrollers. Irrespective of whether it is STM32,LPC, Tiva C etc. The System tick timer allows the system to initiate an action on a periodic basis. This action is performed internally at...

READ MORE

Interrupt Programming

A single microprocessor can serve several devices. There are two ways to do that: interrupts or polling. In the interrupt method, whenever any device needs service, the device notifies the CPU by sending it an interrupt signal. Upon receiving an...

READ MORE

Introduction to State Machines

A state machine is defined as an algorithm that can be in one of a small number of states. A state is a condition that causes a prescribed relationship of inputs to outputs, and of inputs to next states. One of the advantages of a state machine...

READ MORE

Understanding Pointers

Every variable in a firmware has a name and a value associated with it. When a variable is declared, a specific block of memory within the microcontroller is allocated to hold the value of that variable. The size of the allocated block depends on...

READ MORE