Driving Design of LCD1602 with 51 Microcontroller

Driving Design of LCD1602 with 51 Microcontroller

51 Microcontroller – LCD1602 1. 1602 LCD Read/Write Timing (1) Read Status RS=L, R/W=H, E=H. (Release the bus after checking if busy) (2) Read Data RS=H, R/W=H, E=H. (3) Write Command RS=L, R/W=L, D0~D7=Instruction Code, E=High Pulse (4) Write Data RS=H, R/W=L, D0~D7=Data, E=High Pulse 2. LCD Display Driver File #include #define LCD1602_DB P0 sbit … Read more

Redirecting printf() Function to UART in MDK5

Redirecting printf() Function to UART in MDK5

Introduction In embedded development, redirecting printf to the UART serial port is an important means of debugging and logging output. In the Keil environment, the printf function does not directly support UART output for STM32. This article will introduce how to redirect stdout (standard output) to the serial port in the Keil MCU environment, allowing … Read more

What Programming Languages Are Used in Famous Software?

What Programming Languages Are Used in Famous Software?

Author: Potato Scholar Source: One Mouth Linux 1. Operating Systems Microsoft Windows : Assembly -> C -> C++Note: In the early development of the smartphone operating system (Windows Mobile), there was consideration to use some programs written in C#, such as the soft keyboard, but the programs were too slow to integrate with other modules, … Read more

Research on Division and Remainder of Signed Integers

Research on Division and Remainder of Signed Integers

Division and remainder of signed integers – Chen Shuo. Recently, while researching the conversion from integers to strings, I read Matthew Wilson’s series of articles titled Efficient Integer to String Conversions. (Search conversions at http://synesis.com.au/publications.html.) His cleverness lies in using a symmetric digits array to handle the boundary conditions for negative number conversions (the range … Read more

Understanding Execution Flow in C Language

Understanding Execution Flow in C Language

The execution of a C program involves multiple steps, from the initial source code to the final execution process. Let’s understand the execution flow of a C program through a simple example: File: simple.c #include <stdio.h> int main(){ printf("Hello C Language"); return 0;} 👇Click to receive👇 👉C Language Knowledge Resource Collection Execution Flow Let’s understand … Read more

STM32CubeIDE Practical Tips for Configuring Heap Space

STM32CubeIDE Practical Tips for Configuring Heap Space

“ Keywords: STM32CubeIDE, Heap, __sbrk Problem Description Recently, a client requested to specify the heap address in STM32CubeIDE to a dedicated RAM. Problem Analysis The default stack configuration diagram in the project generated by STM32CubeIDE is shown in Figure 1: Solution The project generated by STM32CubeIDE will automatically create a file named sysmem.c. In this … Read more

Challenge: Write a Blinking LED Program in 100 Bytes!

Challenge: Write a Blinking LED Program in 100 Bytes!

This article is lengthy, estimated reading time: 10 minutes. # Author: Roff Segger, Technical Testing, Translation, and Writing at Microtech We are testing using SEGGER’s Embedded Studio development environment: on a Cortex-M microcontroller, how much Flash memory is needed to complete a blinking LED application? Objective: · Create a blinking application using less than 100 … Read more

Top Ten Filtering Algorithms for ADC in C Language

Top Ten Filtering Algorithms for ADC in C Language

1. Limit Filtering Method 1. Method: Determine the maximum allowable deviation between two samples based on experience (set as A) When a new value is detected, judge: a. If the difference between this value and the last value <= A, then this value is valid b. If the difference between this value and the last … Read more

Understanding Constant Pointers in C Language

Understanding Constant Pointers in C Language

Constant Pointers In C language, a constant pointer refers to a pointer whose address cannot be changed, meaning the address will remain unchanged. Therefore, we can say that if a constant pointer points to a certain variable, it cannot point to other variables. Syntax of Constant Pointers <pointer type> * const <pointer name>; The declaration … Read more