DMA - Monster Machines Moving Massive Memory Mounds

Need to move big amounts of dirt? You could use a tea spoon or something designed for the job, like a dump truck, or a really big dump truck.

In our programs, occasionally, we have to move large blocks of data.  We can move it item by item, or bring out the data moving dump truck of computing, DMA.

This week, Andrei presents two examples of using DMA (with code included).

Read More

DMA - A Little Help From My Friends

Do you need to shoot out a block of data to your SD card and polling is getting you down? Is your system getting crushed by UART interrupts? Direct Memory Access (DMA) is the answer.

DMA is really useful, but it's treated like computer voodoo by many. This week Andrei introduces us to the concepts behind DMA and gives a few examples.

Read More

Discovery: UART Input

Andrei is back from his Christmas hiatus and brings us a post introducing getting input from a UART.

Previously he had covered output using printf, a helper function called _write, and the HAL routine to send data out of the UART. This time we use the other half of the UART, a different HAL routine, _read, and getchar.

 

Read More

Discovery: UARTs Part 3 - The Final Step

This week Andrei explains how to get a UART working using Cube. How to get printf working. And introduces the newlib standard library.

This is Andrei's final blog post of 2016, and it'll be useful for your Christmas break project where you learn about ARM processors using CubeMX and ST's Discovery board.

Read More

ESE101: Configuring MSP430 Timers

Last time I explained the basics of what a microcontroller timer is and gave an overview of how timers are configured.

This time I’ll walk you through how to configure an MSP430 timer. We’ll use it to blink a light! (By now you’ve probably realized that most embedded system demos involve blinking a light. I’m pretty sure the singularity will look a lot like a rave.)

Read More

Discovery: Button Interrupts

This week, Andrei discusses how our button can be used to generate an interrupt. Other examples include engine management computers. What things should you look out for when using interrupts. 

Don't miss the photo at the bottom of the post for a useful hack.

Read More

Discovery: Follow The Bouncing Bit

This time, Andrei looks into switches, their bouncy nature, Schmitt triggers, hardware, and software debounce techniques. Join us for a look into the resistors and capacitors leading to port PA0. See oscilloscope traces in black AND white! All of this and more in this embedded.fm blog post!

Read More

Discovery: Buttons

This week Andrei is writing about buttons. First a bunch of the background stuff that goes along with buttons, how the positrons scoot around and finally make it to the processor. Then he takes a look at the HAL code used to read the button position.

How hard can it be? Well sit down and get comfortable, this won't hurt a bit (we'll leave the hurting bit for next time, Bwa ha haaaaa).

Read More