Ultrasonic Measurement Alarm System Based on 51 Microcontroller

Ultrasonic Measurement Alarm System Based on 51 Microcontroller

Click the blue text to follow us Ultrasonic measurement alarm system based on the 51 microcontroller with LCD1602 display (Proteus simulation + program + design report + explanation video) Simulation diagram using Proteus 8.15 (lower versions available) Compiler: Keil 4 / Keil 5 Programming Language: C Design Number: P20 Ultrasonic distance measurement alarm design based … Read more

IoT + Embedded Systems Development and Practice

IoT + Embedded Systems Development and Practice

Today, the Internet of Things (IoT) and artificial intelligence technologies are increasingly integrated into people’s daily lives, raising higher demands for embedded system development technologies. This is reflected not only in the requirements for hardware performance but also in new demands in software, algorithms, and cloud services. Therefore, “IoT + Embedded Systems Development and Practice” … Read more

Fast Fourier Transform Algorithm for Microcontrollers

Fast Fourier Transform Algorithm for Microcontrollers

For a faster version, see the C language implementation of FFT and IFFT source code, which does not rely on a specific platform. The porting is very simple, does not rely on other libraries, and allows custom point counts. The algorithm is based on the usage instructions of the FFT algorithm and the C language … Read more

8 Essential C Language Tips for Embedded Engineers

8 Essential C Language Tips for Embedded Engineers

As an engineer working with MCUs, we rarely encounter pure upper-level software development, nor can we fully engage in hardware circuit design. Our most common work mode is: A cigarette in the left hand, a soldering iron in the right, and both hands on the keyboard typing code. To create a good design, we must … Read more

Getting Started with Raspberry Pi: A Beginner’s Guide

Getting Started with Raspberry Pi: A Beginner's Guide

Preparing to write some tutorials on getting started with Raspberry Pi, this tutorial uses C language for teaching. It roughly involves the control of the GPIO pins of the Raspberry Pi, an introduction to Raspberry Pi, and specific examples of using GPIO pins. It is mainly aimed at beginners of Raspberry Pi. We use the … Read more

Understanding Byte Alignment in Linux

Understanding Byte Alignment in Linux

Recently encountered a problem where ThreadX running on ARM crashed while communicating with DSP using message queues (the final implementation principle is interrupt + shared memory). After investigation, it was found that the structure used for message passing did not consider the issue of byte alignment. Here’s a brief overview of byte alignment issues in … Read more

Memory Optimization Techniques in Microcontroller Development (C Language Version)

Memory Optimization Techniques in Microcontroller Development (C Language Version)

First, let’s talk about As we all know, the biggest difference between microcontroller programming and computer programming is that microcontrollers have very limited resources, and most low-end microcontrollers do not have an operating system. Except for some embedded-level chips that use Linux, most operations are done with simple RTOS, and some simple applications or chips … Read more

Mastering Microcontrollers: From Beginner to Expert

Mastering Microcontrollers: From Beginner to Expert

Many students mention learning microcontrollers, and they often have the following expression: Seeing others’ programs densely packed, they don’t know where to start. In fact, if you calm down and read others’ programs, you will find a certain pattern, which is often modular. Microcontrollers have a lot of registers, and it’s hard to remember what … Read more

Understanding the Distinction Between Embedded C Programming and Traditional C Language

Understanding the Distinction Between Embedded C Programming and Traditional C Language

When we first learn embedded development, a common question arises: what is the difference between C language and embedded C programming? Embedded engineers typically tell you that the difference lies in the fact that embedded C runs on embedded development boards, which differ from CPUs in computers, leading to different compilers and executable programs. Unlike … Read more

Understanding Bitwise Operations in Microcontroller Programming

Understanding Bitwise Operations in Microcontroller Programming

Previously, we discussed why microcontrollers should be programmed in C language and what programming environments are required. Today, we will introduce the basic knowledge of microcontroller programming. First, we need to introduce bitwise operations. Bitwise operations are very common when configuring microcontroller registers. For instance, when configuring the GPIO of a microcontroller to output direction … Read more