Exploring the Path of Microcontroller Development

Exploring the Path of Microcontroller Development

Introduction Microcontrollers are quite “low-level” and “hardware” components, lacking complex data structures and intricate programming algorithms. We only need to understand and program from the perspective of how the microcontroller executes. For the average person, there is no need to delve deeply into the subject, as most of us are merely users of microcontrollers, not … Read more

Using STM32 HAL Library for GPIO Control

Using STM32 HAL Library for GPIO Control

01 Introduction In the development of embedded systems based on STM32 microcontrollers, GPIO (General Purpose Input/Output) control is one of the most fundamental and common operations. By using the STM32 HAL library, configuring and controlling GPIO can be done easily. This article will demonstrate how to use the STM32 HAL library for GPIO control and … Read more

Easy Introduction and Practice with STM32 Microcontroller

Easy Introduction and Practice with STM32 Microcontroller

Introduction The STM32 series chips are developed based on the Cortex-M3 core. They adopt the industry-leading Cortex-M3 core architecture, utilizing Harvard architecture and the Thumb-2 instruction set. They can achieve 32-bit performance with a 16-bit code density. Additionally, with single-cycle multiplication instructions, hardware division instructions, and a built-in fast interrupt controller, STM32 chips can run … Read more

Step-By-Step Guide to STM32 General Timers (Part 1)

Step-By-Step Guide to STM32 General Timers (Part 1)

● General Timer (TM2~TM5) The general timer is managed by the chip and can perform up counting, down counting, or both simultaneously. Additionally, these timers have other functionalities: input capture, output compare, PWM, and single pulse. ● From Manual to Flow The main module of the timer consists of a 16/32-bit counter and its related … Read more

Detailed Analysis of GPIO Initialization Functions in STM32 HAL Library

Detailed Analysis of GPIO Initialization Functions in STM32 HAL Library

Reminder: This article provides a detailed analysis of the functions related to GPIO configuration in the HAL library, including MX_GPIO_Init(), HAL_GPIO_WritePin(), and HAL_GPIO_Init(). At the end of the article, a description of the f1 series GPIO port registers is attached. MX_GPIO_Init() First, let’s look at the source code: void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0}; /* … Read more

How STM32 Combines Software and Hardware for Execution

How STM32 Combines Software and Hardware for Execution

Have you ever wondered why software can control hardware? This article analyzes how the STM32 microcontroller combines software and hardware and how the microcontroller program is compiled and executed. Software and Hardware Integration Beginners often have a question: why can software control hardware? Just like the 51 microcontroller, why can we output high and low … Read more

The Path to Embedded Learning: Start Your Journey in Smart Hardware

The Path to Embedded Learning: Start Your Journey in Smart Hardware

For those who are still learning about embedded systems, you may feel confused about what to study and how to start learning. Today, I have compiled a set of learning plans for embedded systems, and this article will cover everything you need to know. 01 Basic Knowledge Learning 1. Master Programming Languages: 1) First, delve … Read more

Comprehensive Learning Path for Embedded AI Engineers

Comprehensive Learning Path for Embedded AI Engineers

Follow the Embedded Learning Station to get more fresh hot topics. Before discussing the learning path, let’s first understand what embedded development is. Simply put, an embedded system consists of two parts: software and hardware. It is application-centered and can achieve software and hardware tailoring. Software includes: specific business applications and operating systems (simple applications … Read more

Common Fault Tolerance Designs in Embedded Code

Common Fault Tolerance Designs in Embedded Code

If a large embedded project does not implement fault tolerance design, can you imagine what the consequences would be? Experienced friends can certainly think of countless bugs in such projects, and some bugs are very difficult to trace. Today, let’s discuss some common fault tolerance design methods in embedded code. Using Assertions (Assert) What is … Read more

Why Design Patterns Are Rarely Used in Embedded Development?

Why Design Patterns Are Rarely Used in Embedded Development?

After working for a few years, I often see some friends asking whether design patterns need to be learned. It seems that those who work in embedded systems have never encountered the need to use design patterns, so they have never systematically studied them. However, I know that design patterns are important, yet over time, … Read more