UART Serial Port Software Development Process (Based on MCU)

UART Serial Port Software Development Process (Based on MCU)

Preparation Work Hardware Confirm the MCU serial port (USART1, UART4, etc.); Confirm the “pins” (TX: transmit pin, RX: receive pin). For example: PA9, PA10; TX connects to RX, RX connects to TX, GND connects to GND; Note: Ensure common ground (GND), which is essential for the signal circuit and level reference. Protocol Format: Ensure that … Read more

How To Ensure Microcontroller Reliability In Software Design?

How To Ensure Microcontroller Reliability In Software Design?

In microcontroller application systems, the reliability design of software/hardware is crucial for the stable operation of the entire system, especially in complex and harsh environments such as industrial control, where microcontrollers are easily subjected to various interferences and challenges. So, from the software perspective, how should engineers proceed? 1. Instruction Redundancy Insert two NOP instructions … Read more

ZYNQ7000 Global Timer and Its Driver Example

ZYNQ7000 Global Timer and Its Driver Example

Introduction to Timers In ZYNQ embedded systems, timer resources are abundant. Each Cortex-A9 processor has its own independent 32-bit private timer and a 32-bit watchdog timer, while both CPUs share a single 64-bit Global Timer Counter (GTC). System Block Diagram Global Timer (GTC) The Global Timer is a 64-bit incrementing counter with an automatic increment … Read more

Essential Course for MCU Advancement: A Comprehensive Understanding of All Timer/Counter Modes and Register Configurations

Essential Course for MCU Advancement: A Comprehensive Understanding of All Timer/Counter Modes and Register Configurations

Disclaimer: Some images in this article are sourced from the internet. Please contact us for removal if there are any copyright issues. Are you still using delay() to block your system? To achieve true concurrent tasks, mastering timers and counters is essential—they are the soul of MCU task scheduling. This article will take you from … Read more

Task Scheduling in FreeRTOS – Startup

Task Scheduling in FreeRTOS - Startup

One of the core tasks of an operating system is task scheduling. Tasks have different names in different operating systems, such as task, thread, or process, with processes typically associated with independent address spaces. The goals of scheduling are to ensure fairness, real-time performance (for real-time systems), maximize CPU utilization, and meet task priority requirements. … Read more

ESP32-S3 System Timer (SYSTIMER)

ESP32-S3 System Timer (SYSTIMER)

“This article focuses on the system timer (SYSTIMER) of the ESP32-S3, introducing its 52-bit counting unit, three comparison channels, and clock source characteristics. It explains the working principle based on clock division and counting comparison, and demonstrates its application in precise timing and interrupt triggering through an LED blinking example.” 01 — Introduction to SYSTIMER … Read more

Analysis of Answers for Checkpoint 13.2 in Assembly Language

Analysis of Answers for Checkpoint 13.2 in Assembly Language

“Assembly Language”, 3rd Edition by Wang Shuang Chapter 13: int Instruction Checkpoint 13.2 (Page 259) Determine the correctness of the following statements: (1) We can programmatically change the instruction at FFFF:0 so that the CPU does not execute the hardware system checks and initialization program in the BIOS. (2) The int 19H interrupt routine can … Read more

Design and Implementation of Timer/Timeout Mechanisms in Embedded Software

Design and Implementation of Timer/Timeout Mechanisms in Embedded Software

Follow and star “Embedded Development Notes”to not miss exciting content! 1. Background In the process of embedded software program design, timeout (or timer) handling situations are frequently encountered. The basic handling idea is to perform related program processing when the time is up. Below are two program design solutions for timeout (or timer). 2. Solution … Read more

Interrupt Handling and Interrupt Service Routines in C Language

Interrupt Handling and Interrupt Service Routines in C Language

In the development of embedded systems and operating systems, interrupts are an important mechanism. They allow programs to respond immediately to specific events without the need to constantly poll device status. This article will provide a detailed introduction to interrupt handling in C language and its related concepts, suitable for beginners to learn. What is … Read more

Analysis of Embedded Driver Design Techniques

Analysis of Embedded Driver Design Techniques

In embedded system development, driver design is a key factor affecting system performance, energy efficiency, and maintainability. Below is an in-depth analysis of three mainstream driver design techniques along with practical recommendations: 1. Polling Driver Technical Features: Blocking Design: The main program cannot perform other tasks while waiting for peripheral responses. Simple Implementation: Only requires … Read more