STM32


I am a firm believer that if you really want to learn how to use a microcontroller you must write your own peripheral drivers using direct register access. Even if you later end up using an established library, you will understand what that library is doing and what all those settings mean. You will learn to appreciate the cleanliness of 5 lines of code that accomplishes the same thing that 20 lines of code accomplishes using a library. You can then take your code and make your own abstraction layer, as you will see in the following videos you will be able to write your own functions and know exactly what they do. Learning how to use the registers for one microcontroller will allow you to pick up any microcontroller from any manufacturer plus the datasheet and start programming it, because for the most part they are all programmed the same exact way and it is only naming differences. Below is my attempt to make this subject understandable and less intimidating. I am not a teacher and have no training in education so if my style does not work for you, my apologies. Otherwise proceed and enjoy.


The following tutorial series is a work in progress. If you have landed here only to encounter a series that abruptly ends, do rest assured that more content is coming. I am working hard on completing many series of tutorials on an array of subjects. Feel free to shoot me an email to remind me about a specific tutorial I may have forgotten.

Note: This is not a C tutorial, it is assumed you know the basics of the language. However, I do review bitwise operations because they are an integral part of embedded C. I suggest you review structures and pointers (just basic pointers nothing fancy).


Prerequisites 

1. Intro / overview of what you will learn.
2. Development environments :
  • Keil
  • TrueStudio 
3. Intro to Register access.
4. Bitwise operations
5. Systick : delay
6. Basic Debugging intro
7. Printf for debugging

GPIO

  • Overview
  • Output
  • Input
  • Interrupt
  • Alternate function
 GPIO : Driver Abstraction
  • Header File
  • C File




Comments

  1. Thank you for your efforts! This is exactly what I've been looking. Im going to write my drivers too for my stm32f407 micro, so that I can learn how they work.

    ReplyDelete
    Replies
    1. hello sorry for the late reply! How did your journey go on writing the drivers? I plan to remake these videos and be more active.

      Delete
  2. Hi. Your lecture series is one of the most fundamental, in depth and clear than all others. I liked your way of explaining. Thanks a million. Looking forward to more and more topics.

    ReplyDelete
  3. Eddie your youtube blog is reeeeeallly helpful! I was looking for that information on numbers of different sites and here it is, all in one place, just watch!!)))))Thanks a lot, hope your current site will be even better.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. when is your video are coming please reply me

    ReplyDelete
    Replies
    1. what video exactly are you looking for? I have a lot on youtube already and working on some more.

      Delete
  6. Eddie,
    My name is Russ. I retired a few years ago after working with embedded software for many years. I took a few years off (from embedded stuff, while building a machine shop) and then decided to get back into it a little bit to make some gadgets to support the machines and projects. I had played with the Cortex-M0 (NXP Kinetis) a while back but decided to try out some of these dirt cheap STM32 based microcontrollers. Took a look at some YouTube videos to get acquainted with these parts (I like 'em) and came across your stuff. I get the biggest kick out of listening to you explaining how to use the various subsystems of these parts. You really have a knack for instruction, explaining things in detail but with a lot of enthusiasm. It is clear working with 'C' is effectively effortless for you (as it was for me before age got to me and slowed things down a bunch). I look forward to checking out what you decide to do next. It would be a hoot to see you move towards real-time multitasking systems (my specialty, back in the day). Thanks for all you are doing. Good luck.

    ReplyDelete
Share your comments with me

Archive

Contact Form

Send