<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Mike Silva Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Mike_Silva.php</link>
<description><![CDATA[RSS Feed for Mike Silva Blog on EmbeddedRelated.com]]></description>
<image><title>Mike Silva Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Mike_Silva.php</link>
<url>https://d23s79tivgl8me.cloudfront.net/user/profilepictures/98338.jpg</url>
</image>
<atom:link href="https://www.embeddedrelated.com/blogs_rss.php?bloggerid=98338" rel="self" type="application/rss+xml"></atom:link>
<language>en-US</language>
<lastBuildDate>Thu, 21 May 2026 16:12:42 +0000</lastBuildDate>
<pubDate>1779379962</pubDate>
<item>
<title>Introduction to Microcontrollers - Ada - 7 Segments and Catching Errors</title>
<link>https://www.embeddedrelated.com/showarticle/625.php</link>
<description><![CDATA[<p></p>
7 Segments the Ada Way
<p>Here is the Ada version (I should say AN Ada version) of the 7 segment multiplexing code presented in the last installment. &nbsp;The hardware now is the STM32F407 Discover board, which is a Cortex M4F board. &nbsp;There are lots of differences in GPIO and timer setup, but if you understoold the previous code in C you should not have much trouble...]]></description>
<pubDate>Mon, 22 Sep 2014 05:30:53 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - 7-segment displays &amp; Multiplexing</title>
<link>https://www.embeddedrelated.com/showarticle/624.php</link>
<description><![CDATA[<p></p>
Doing the 7 Segment Shuffle
<p>The 7 segment display is ubiquitous in the modern world.&nbsp; Just about every digital clock, calculator and movie bomb has one. &nbsp;The treadmills at my gym have 6 or 7, each one displaying 3 or 4 digits. &nbsp;What makes the 7-seg interesting is that it presents an opportunity to make a&nbsp;trade off between GPIO (output pins) for time.&nbsp;...]]></description>
<pubDate>Thu, 14 Aug 2014 05:08:15 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Ada 2012 for ARM M3/M4 Released for Download</title>
<link>https://www.embeddedrelated.com/showarticle/617.php</link>
<description><![CDATA[Previous Ada Tutorials

<p><a title="Ada Tutorial 1" href="//www.embeddedrelated.com/showarticle/585.php">Ada 2012 Comes to ARM Cortex M3/M4</a></p>

It's Here!
<p>Great news - AdaCore now has their initial&nbsp;ARM Ada port available on their download site.&nbsp; You can get it by going to <a href="http://libre.adacore.com/download/" rel="nofollow">http://libre.adacore.com/download/</a>&nbsp;and working your way to the page titled "Download GNAT GPL and SPARK GPL Editions".&nbsp; There, under "Select Configurations" you will...]]></description>
<pubDate>Tue, 05 Aug 2014 01:19:31 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Ada 2012 Comes to ARM Cortex M3/M4</title>
<link>https://www.embeddedrelated.com/showarticle/585.php</link>
<description><![CDATA[Ada, that old dinosaur? &nbsp;I thought Ada was dead!
<p>Admit it, at least a few of you had that thought, right? &nbsp;Well, far from being dead, the Ada language has been evolving, improving, and helping to save&nbsp;lives, property and money around the world for&nbsp;the past 30 years. &nbsp;And what's more,&nbsp;the latest version of the language, Ada 2012, will soon be coming to a...]]></description>
<pubDate>Fri, 25 Apr 2014 22:55:14 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Driving WS2812 RGB LEDs</title>
<link>https://www.embeddedrelated.com/showarticle/528.php</link>
<description><![CDATA[<p></p>

<p>This tutorial chapter is a bit of a detour, but I think an interesting and useful one.&nbsp; It introduces a bit of assembly language programming, and demonstrates bit-banging a tight serial data protocol.&nbsp; And it deals with RGB LEDs, which are just very fun in their own right, especially these new parts.&nbsp; So I thought I'd post this&nbsp;to give readers time for...]]></description>
<pubDate>Thu, 14 Nov 2013 18:50:19 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Button Matrix &amp; Auto Repeating</title>
<link>https://www.embeddedrelated.com/showarticle/519.php</link>
<description><![CDATA[<p></p>

Too Many Buttons, Not Enough Inputs
<p>Assigning one GPIO input to each button can use up a lot of GPIO pins. &nbsp;Numeric input requires at least 10 buttons, plus however many additional control or function buttons.&nbsp; This can quickly get expensive, GPIO pin-wise, and also connector-wise if the keypad is off the uC PCB as it often would be.&nbsp; A very common...]]></description>
<pubDate>Tue, 12 Nov 2013 22:27:26 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Buttons and Bouncing</title>
<link>https://www.embeddedrelated.com/showarticle/505.php</link>
<description><![CDATA[<p></p>

What Is A Button?
<p>To your hardware, that is.&nbsp; As discussed in <a href="//www.embeddedrelated.com/showarticle/462.php">Introduction to Microcontrollers - More On GPIO</a>, a button (or key, or switch, or any form of mechanical contact) is generally hooked up to a microcontroller so as to generate a certain logic level when pushed or closed or "active," and the opposite logic level when unpushed or open or "inactive."&nbsp;...]]></description>
<pubDate>Sat, 26 Oct 2013 19:40:30 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - More Timers and Displays</title>
<link>https://www.embeddedrelated.com/showarticle/485.php</link>
<description><![CDATA[<p></p>

Building Your World Around Timers
<p>By now you have seen four different ways to use timers in your programs.&nbsp; Next we will look at some ways to produce the effect of multiple parallel streams of work in your program with the help of timers.&nbsp; This effect is only an appearance, not a reality, since a single microcontroller (one core) can only run a single thread of...]]></description>
<pubDate>Tue, 15 Oct 2013 18:22:35 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Adding Some Real-World Hardware</title>
<link>https://www.embeddedrelated.com/showarticle/490.php</link>
<description><![CDATA[<p></p>

When 2 LEDs Just Don't Cut It Anymore
<p>So far, we've done everything in this series using two LEDs and one button. &nbsp;I'm guessing that the thrill of blinking an LED has worn off by now, hard as that is to imagine. &nbsp;What's more, we've just about reached the limits of what we can learn with such limited I/O.&nbsp; We have come to the point where we need to add some...]]></description>
<pubDate>Tue, 08 Oct 2013 22:21:34 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Timers</title>
<link>https://www.embeddedrelated.com/showarticle/478.php</link>
<description><![CDATA[<p></p>

Timers - Because "When" Matters
<p>Computer programs are odd things, for one reason because they have no concept of time.&nbsp; They may&nbsp;have the concept of sequential execution, but the time between instructions can be essentially any number and the program won't notice or care (unless assumptions about time have been built into the program by the programmer).&nbsp;...]]></description>
<pubDate>Sat, 28 Sep 2013 02:50:29 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - More On Interrupts</title>
<link>https://www.embeddedrelated.com/showarticle/472.php</link>
<description><![CDATA[<p></p>

A Little More Detail About The Interrupt Mechanism
<p>It's time to look a little closer at what happens in an interrupt request and response. &nbsp;Again this is in general terms, and different microcontroller designs may do things somewhat differently, but the basics remain the same. &nbsp;Most but not all interrupt requests are latched, which means the interrupt event...]]></description>
<pubDate>Wed, 25 Sep 2013 18:24:23 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Interrupts</title>
<link>https://www.embeddedrelated.com/showarticle/469.php</link>
<description><![CDATA[<p></p>

It's Too Soon To Talk About Interrupts!
<p>That, at least, could be one reaction to this chapter. &nbsp;But over the years I've become convinced that new microcontroller programmers should understand interrupts before being introduced to any complex peripherals such as timers, UARTs, ADCs, and all the other powerful function blocks found on a modern microcontroller....]]></description>
<pubDate>Wed, 18 Sep 2013 21:47:23 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - More On GPIO</title>
<link>https://www.embeddedrelated.com/showarticle/462.php</link>
<description><![CDATA[<p>Now that we have our LED Blinky program nailed down, it's time to look more closely at outputs, add button/switch inputs, and work with reading inputs and driving outputs based on those inputs.</p>

<p></p>

It's ON - No, It's OFF - No, It's ON...
<p>I have to confess, I cheated. &nbsp;Well, let's say I glossed over something very important. &nbsp;In our LED Blinky program, we...]]></description>
<pubDate>Fri, 13 Sep 2013 15:49:27 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Hello World</title>
<link>https://www.embeddedrelated.com/showarticle/460.php</link>
<description><![CDATA[<p></p>

Embedded Hello World
<p>A standard first program on an embedded platform is the blinking LED. &nbsp;Getting an LED to blink demonstrates that you have your toolchain set up correctly, that you are able to download your program code into the &mu;C, and that the &mu;C and associated circuitry (e.g. the power supply) is all working. &nbsp;It can even give you good evidence as...]]></description>
<pubDate>Wed, 11 Sep 2013 18:36:23 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Further Beginnings</title>
<link>https://www.embeddedrelated.com/showarticle/456.php</link>
<description><![CDATA[Embedded Programming Basics
<p>This tutorial entry will discuss some further embedded programming basics that you will need to understand before proceeding on to the LED blinky and other&nbsp;example programs. We will do this by looking at the general organization and types of instructions found in most microcontrollers, and how that organization and those instructions are reflected (or, in some...]]></description>
<pubDate>Sun, 01 Sep 2013 17:59:41 +0000</pubDate>
<author>Mike Silva</author>
</item>
<item>
<title>Introduction to Microcontrollers - Beginnings</title>
<link>https://www.embeddedrelated.com/showarticle/453.php</link>
<description><![CDATA[<p>Welcome to this Introduction to Microcontroller Programming tutorial series. If you are looking to learn the basics of embedded programming for microcontrollers (and a bit of embedded hardware design as well), I hope these tutorials will help you along that journey. These are my first postings here, and I am writing this tutorial series because over the years I have seen countless newbies...]]></description>
<pubDate>Tue, 20 Aug 2013 15:13:09 +0000</pubDate>
<author>Mike Silva</author>
</item>
</channel>
</rss>