Design of a Pauseable Eight-Way Buzzer Based on AT89C51 Microcontroller

Design of a Pauseable Eight-Way Buzzer Based on AT89C51 Microcontroller

Click the link below to read the original article or copy the link to your browser to obtain the Keil source code and Project Backups simulation images: https://gf.bilibili.com/item/detail/1107885063 C+15 Abstract With the advancement of society and technology, the application of electronic devices in various activities has become increasingly common. Buzzers, as a tool for answering … Read more

Understanding Byte Alignment in Linux

Understanding Byte Alignment in Linux

Recently, I encountered a problem where threadx running on ARM crashed when communicating with DSP using message queues (the underlying implementation is through interrupts and shared memory). During the troubleshooting process, it was found that the structure used for message passing did not consider the issue of byte alignment. Here, I will整理一下 the issue of … Read more

Introduction to Synchronization and Mutex in FreeRTOS

Introduction to Synchronization and Mutex in FreeRTOS

This article aims to learn and use synchronization and mutex in FreeRTOS. Following the descriptions in this article, you should be able to run the experiment and apply the knowledge. Experimental conditions: Basic knowledge of C language and an integrated development environment installed, such as Keil uVision5. Concepts of Synchronization and Mutex Synchronization is used … Read more

Task Scheduling in FreeRTOS

Task Scheduling in FreeRTOS

Convention: This article is based on freeRTOSv202212.01. Defining a Task Task scheduling involves the “tasks” that need to be managed, so we need to first understand what a “task” looks like. An independent task must consider the following points: 1. The system must recognize and manage this task, so the task needs an identification card … Read more

Getting Started with FreeRTOS: Memory Management

Getting Started with FreeRTOS: Memory Management

1. Concept and Classification of Memory In computing systems, memory is used to store variables and intermediate data. The system memory can be divided into two types: Internal Storage Space (RAM): Typically refers to Random Access Memory, which allows fast data access and random access, but data is lost when power is off. External Storage … Read more

Embedded Systems Beginner’s Progression: Key Milestones

Embedded Systems Beginner's Progression: Key Milestones

01 Basic Stage 1.1 Basics of Programming Languages C Language: As the cornerstone of embedded development, it is essential to master its various features. By carefully studying classic books such as “The C Programming Language,” deeply understand the syntax rules, accurately grasp the use of data types, skillfully manipulate pointers as a powerful tool, and … Read more

Running .NET Core 3.0 on Raspberry Pi 4: True 64-bit!

Running .NET Core 3.0 on Raspberry Pi 4: True 64-bit!

Introduction Recently, I wrote an article titled “Installing .NET Core 3.0 Runtime and SDK on Raspberry Pi 4”, followed by subsequent articles on “Auto-starting .NET Core 3.0 Environment on Raspberry Pi”, “Nginx Configuration for Internal Access to Raspberry Pi 4 ASP.NET Core 3.0 Website”, and “Tianpai Magic | .NET Core 3.0 + Azure Remotely Turning … Read more

15 Essential Programming Skills for Becoming an Excellent Programmer

15 Essential Programming Skills for Becoming an Excellent Programmer

Programming is a term that tells computers how to work. Through programming, we can easily manipulate any technology. Just like everyone has their own language or specific dialect in certain regions, computers or advanced technologies also have specific languages, and its name is “programming.” Those who engage in programming are called programmers. However, merely learning … Read more

QP/C: A Lightweight Open Source Real-Time Embedded Framework

QP/C: A Lightweight Open Source Real-Time Embedded Framework

QP/C, a lightweight and open source real-time embedded framework (RTEF), provides powerful tools for building modern embedded software. It is based on the active object (Actor) model and has won widespread acclaim in the embedded systems development field due to its efficiency, safety, and ease of use. This article will delve into the key features, … Read more

Writing a Real-Time Embedded Operating System Kernel in C

Writing a Real-Time Embedded Operating System Kernel in C

Creating content is not easy, if convenient, please follow, thank you This article is based on a thorough review of authoritative literature and materials, forming professional and reliable content. All data in the full text can be referenced and traced back. Special note: Data and materials have been authorized. This article does not involve any … Read more