Year: 2025
Introduction to UART Serial Communication Design in FPGA
Introduction: UART is a universal serial data bus used for asynchronous communication. This bus supports bidirectional communication, enabling full-duplex transmission and reception. UART is commonly used for data communication with PCs, as well as for the transmission of command and control information. In this article, we will introduce the UART communication protocol, transmission timing, and … Read more
Recent Developments in LoRa Technology
In 2017, the battlefield of the Internet of Things (IoT) is filled with intense competition. The low-power IoT teams are emerging as heroes. Everyone is gearing up to make bold statements to the world. LoRa, which took the lead, has recently demonstrated its rapid advancement through concrete actions. As of the latest official news, the … Read more
A Deep Dive into C Language: From Basic Types to Memory Layout
The Data World of C Language: A Deep Dive from Basic Types to Memory Layout I am Feri. In embedded development, the choice of data types directly affects memory usage and runtime efficiency. The power of C language comes from its precise control over data—this article will guide you through the surface of data to … Read more
10 Essential C Language Tips for Hardware Engineers
The most common task for hardware designers is to test hardware by writing code. These 10 C language tips (C remains a popular choice) can help designers avoid defects caused by fundamental errors, which can lead to maintenance issues. To successfully launch a product, the software development process itself must navigate countless practical risks and … Read more
C Language – 02 Hello World!
In the previous article on computer programming languages, we introduced the definition and development stages of programming languages. Now, we will specifically write executable code for a computer programming language and create our first program, Hello World. The process of inputting, modifying, and saving source code using a text editor (such as Dev++, VS Code, … Read more
Mastering C Language: The Importance of Well-Defined Macros
Using macros can prevent errors, enhance portability, readability, and convenience. Below are some commonly used macros in mature software. Redefining some types to prevent differences in type byte sizes due to various platforms and compilers, facilitating portability: typedef unsigned char boolean; /* Boolean value type. */typedef unsigned long int uint32; /* Unsigned 32 bit value … Read more
Introduction to Programming Fundamentals (C Language)
01 Basic Information 02 Course Introduction “Introduction to Programming Fundamentals (C Language)” is an important foundational course for the Geographic Information Science major. This course focuses on the basic syntax of C language, principles of program compilation, and debugging methods, guiding students to become familiar with commonly used development tools. The specific course content is … Read more
From C Language to Assembly Language
First, let me introduce the software development process in my work. Our company produces a physical product, and the software part of the product is developed and maintained by multiple departments. The code from our team is compiled into static libraries (.a) or dynamic libraries (.so) depending on the product form, and together with libraries … Read more
Should High Cohesion and Low Coupling be Emphasized in Embedded Software Written in C?
I am Lao Wen, an embedded engineer who loves learning.Follow me to become even better together! 1 – Principles Low coupling means that modules should exist as independently as possible. While some connection between modules is inevitable, the interfaces between them should be minimal and simple. Thus, high cohesion from the internal characteristics of each … Read more