Knowing all your friends

Photo by Nekhil R on Unsplash

Any aspiring embedded systems developer must know how to manage registers—how to configure and use different peripherals (like UART, GPIOs, cryptographic modules, etc.) by accessing their registers directly.

To do this, you need to consult the microcontroller’s documentation to understand its peripherals, the registers each includes, and how to configure them.

And all of this, my dear friends, is impossible with Arduino. Why? Because it’s completely hidden.

Let me give you an example:
The digitalWrite() function accesses the GPIO module of the microcontroller on your board. If you were to look at the implementation for each Arduino board, you’d see that it varies significantly. To fully understand each of those implementations, you should have the microcontroller’s reference manual at your fingertips.

So, what should I do instead?

As I told you in the last line, to understand how a given peripheral works, you need the microcontroller’s reference manual.

But, as you may imagine, you need something more to manage a peripheral by tweaking its registers.

--

--

Carlos Aldea
Carlos Aldea

Written by Carlos Aldea

I am an addict. But don't worry, my addiction is a good one. I love learning things. And I am going to try sharing my learnings.

No responses yet