I Apply SPI: Good Vibrations

This week, we take a look at the firmware involved in using the SPI bus. From the function calls to control the select pin then send out some data via the SPI bus, the form and specifics of the command structure for an accelerometer, and then we get some data flowing.

Busted data sheets, 16-bit values, and right handed chips - how can you pass this up?

Read More

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