Libmemory: The Dynamic Memory Management Tool for Embedded Systems

Libmemory: The Dynamic Memory Management Tool for Embedded Systems

Dynamic memory management is one of the core challenges in embedded development. Many bare-metal platforms and lightweight RTOS do not provide standard <span>malloc()</span> and <span>free()</span> interfaces, leading to poor code portability and difficult resource management. Today, we introduce libmemory, an open-source tool designed to solve this pain point. This article will explore all aspects of … Read more

Differences Between C Language and Assembly Language

Differences Between C Language and Assembly Language

Previous Articles 👍 Five Stages to Assess Your Circuit Design Ability 👍 How to Learn Circuit Design from Scratch? 👍 Detailed Explanation of Four Schemes for Microcontroller Key Design 👍 17 Common Circuit Design Modules for Microcontrollers 👍 Analysis of the Minimum System of Microcontrollers (Power Supply, Crystal Oscillator, and Reset Circuit) 👍 Detailed Explanation … Read more

Using State Machines to Parse UART Variable-Length Protocol Frames

Using State Machines to Parse UART Variable-Length Protocol Frames

In communication design, considering the flexibility of protocols, they are often designed to be “variable length”. An example is shown in the figure below: the communication protocol frame of the Ruimi LoRa terminal.If a system receives the above “variable length” protocol frames, there will be a challenge — how to efficiently receive and parse them.To … Read more

Review of Arduino Teaching: Bridging Electronics

2025 Towards the Future Together New Tian County, Yongzhou, Hunan Review of Arduino Teaching Background Review In January 2025, eight students from Tsinghua University’s Electronics Department’s “Bridge of Electronics” practical team, full of enthusiasm, went to New Tian County, Yongzhou, Hunan, to bring a four-lecture special course centered on C language fundamentals and Arduino UNO … Read more

In-Depth Analysis of Microcontroller Programming: Ten Questions and Answers from C to Assembly

In-Depth Analysis of Microcontroller Programming: Ten Questions and Answers from C to Assembly

10 Questions About Microcontroller Programming 1. What are the advantages and disadvantages of C language and assembly language in developing microcontrollers? Answer: Assembly language is the closest language to machine code, occupying less resources and having high execution efficiency, but it is not easy to port because assembly languages can differ across CPUs. C language, … Read more

Top 10 Challenges in Microcontroller Programming

Top 10 Challenges in Microcontroller Programming

1. What are the advantages and disadvantages of C language and assembly language in microcontroller development? Answer: Assembly language is a symbolic language that uses mnemonic symbols to represent machine instructions, making it the closest language to machine code. Its main advantages are low resource usage and high execution efficiency. However, different CPUs may have … Read more

The Technical Battle Between PLCs and Microcontrollers: Unveiling the True Face of Industrial Controllers

The Technical Battle Between PLCs and Microcontrollers: Unveiling the True Face of Industrial Controllers

1. Real-Time Showdown: Data Dissection on the Millisecond Battlefield In a real-world measurement of a certain new energy vehicle welding line in 2023, the deterministic scanning cycle of the Siemens S7-1500 PLC stabilized at 0.5ms±0.02ms, while the STM32H7 series microcontroller equipped with FreeRTOS had a fluctuation range of 3ms to 15ms (when triggered by burst … Read more

Implementing LED Control with 51 Microcontroller

Implementing LED Control with 51 Microcontroller

Click the above“Mechanical and Electronic Engineering Technology”to follow us This article introduces three experiments: lighting a single LED, flashing a single LED, and running lights using the 51 microcontroller, along with programming in C language and assembly language. 1. Circuit Diagram Used As shown in the figure, the 51 microcontroller connects 8 light-emitting diodes to … Read more

C Language Operators and Priority Misconceptions

C Language Operators and Priority Misconceptions

Introduction: Many people believe that priority represents the order of operations, influenced by mathematics or everyday life, making them sensitive to this term. Isn’t priority just about who gets processed first? However, in C language, it is not quite the case. Priority only determines the order of association in expressions, not the order of operations! … Read more