How-to articles about hardware-software integration and electronics design.

Portable Fixed-Width Integers in C

For embedded software developers, the most significant improvements to the C programming language made in the ISO C99 standard update are in the new <stdint.h> header file. Learn the typedef names for the new fixed width integer data types, to make hardware interfacing in C easier. 

Serial Communication Protocols: CAN vs. SPI

Distributed systems require protocols for communication between microcontrollers. Controller Area Networks (CAN) and Serial Peripheral Interfaces (SPI) are two of the most common such protocols.

Optimal C Constructs for 8051 Microcontrollers

The limitations of an 8-bit microcontroller (MCU) can sometimes make conventional C constructs produce suboptimal code. In this article we look at common problems on the 8051 family and discuss workarounds in C.

Introduction to Counter/Timer Hardware

Counter units (aka, timer units) are crucial components of most embedded systems and included in many microcontrollers. Here's a primer on the hardware.

Introduction to Closed-Loop Control and PID

Most control systems utilize feedback in some manner. Here's a look at several fundamental feedback mechanisms, culminating in a description of a basic PID controller.

How Endianness Works: Big-Endian vs. Little Endian

Some human languages are read and written from left to right; others from right to left. A similar issue arises in the field of computers, involving the representation of numbers.

Introduction to Watchdog Timers

For those embedded systems that can't be constantly watched by a human, watchdog timers may be the solution.

Introduction to Pulse Width Modulation (PWM)

Pulse width modulation (PWM) is a powerful technique for controlling analog circuits with a processor's digital outputs. PWM is employed in a wide variety of applications, ranging from measurement and communications to power control and conversion.

How to Use C's volatile Keyword

The proper use of C's volatile keyword is poorly understood by many programmers. This article will teach you the proper way to do it.

 

Types of Memory in Embedded Systems

SRAM or DRAM? EEPROM or flash? What types of memory will you use in your next embedded systems design?

Pages