STM32-Proteus Simulation Signal Generator System

STM32-Proteus Simulation Signal Generator System

1. System Introduction 1. Signal Generator Introduction A signal generator is an electronic device capable of producing standard or specific electrical signals, widely used in electronic testing, equipment calibration, and educational experiments. The signal generator implemented in this design can generate four basic waveforms: Square Wave: A rectangular wave alternating between high and low levels … Read more

Steps to Update the PLC [STM32] Kernel

Steps to Update the PLC [STM32] Kernel

Steps to Update the PLC Kernel Using a serial cable, the steps are as follows: 1. Install STM32CubeProgrammer Download and install the latest version of STM32CubeProgrammer from the ST official website. After installation, open the software. 2. Hardware Connection: After connecting the USB download cable; press and hold the download button near the serial port, … Read more

Installation Guide for Keil5 STM32 Version with Latest Software Package Localization

Installation Guide for Keil5 STM32 Version with Latest Software Package Localization

Keil5 STM32 version is an integrated development environment (IDE) specifically designed for the STM32 series microcontrollers, launched by ARM. It provides complete code editing, compiling, debugging, and downloading functionalities, supporting C/C++ programming, and includes a rich set of library functions and example codes, greatly facilitating embedded development. Users can manage projects and configure hardware through … Read more

PID Closed-Loop Control Experiment Based on STM32F1 Series: Potentiometer Knob Drive

PID Closed-Loop Control Experiment Based on STM32F1 Series: Potentiometer Knob Drive

We use ADC2 to implement the potentiometer knob. Potentiometer Knob Initialization Code.c void PotentiometerKnob_Init(void){ /* Enable clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2, ENABLE); // Enable ADC2 clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // Enable GPIOA clock /* Set ADC clock */ RCC_ADCCLKConfig(RCC_PCLK2_Div6); // Select clock division 6, ADCCLK = 72MHz / 6 = 12MHz /* GPIO initialization */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode … Read more

Embedded Sensor Series – Comprehensive Guide to GY-906 Non-Contact Infrared Temperature Sensor

Embedded Sensor Series - Comprehensive Guide to GY-906 Non-Contact Infrared Temperature Sensor

Next, I will present embedded practical projects in the form of sensors + projects. Today, we will learn about the first article in the embedded sensor series – a comprehensive guide to using the GY-906 non-contact infrared temperature sensor. In the world of embedded development, sensors act like “eyes” and “ears” that allow devices to … Read more

The Perfect Integration of STM32 and Bluetooth: No More External Bluetooth Modules Needed

The Perfect Integration of STM32 and Bluetooth: No More External Bluetooth Modules Needed

Introduction In the past, when developing with STM32, communication with mobile phones generally required an additional Wi-Fi module or Bluetooth module, typically connected via serial port to the Bluetooth module. When designing wireless communication solutions, the ESP32 is often chosen, as this Bluetooth + MCU integrated solution is very appealing. However, the ESP32 has its … Read more

STM32 Series: SPI Timing for W25Q64 (Hardware SPI and Simulated SPI)

STM32 Series: SPI Timing for W25Q64 (Hardware SPI and Simulated SPI)

Click the blue text Follow us 1. Introduction to W25Q64 The W25Q64 (64Mbit) is a serial FLASH memory solution designed to provide minimal space, pin count, and power consumption for systems. The 25Q series offers greater flexibility and superior performance compared to standard serial FLASH memory. Based on double/quad SPI, they can immediately provide data … Read more

Steps to Port FreeRTOS on STM32F103C8T6

Steps to Port FreeRTOS on STM32F103C8T6

For other basic configurations, refer to my article: STM32F103C8T6 Microcontroller CUBEIDE Integrated Development Environment Configuration Process.Based on the above, follow these steps:1. First, select sys->Timebase source and choose TIMx. This article selects TIM1 (it is best to choose this; others only have basic functions like TIM2, TIM3, and TIM4. TIM1 is an advanced timer, and … Read more

Microcontroller Time-Slice Polling Program Architecture

Microcontroller Time-Slice Polling Program Architecture

The time-slice polling method is often mentioned alongside operating systems, meaning it is frequently used in operating systems:RTOS in STM32 microcontroller development. The following will reference others’ code to demonstrate how to establish a time-slice polling architecture program.Timer Reuse Executing other functions while one function is delayed makes full use of CPU time, doesn’t it … Read more

Introduction to STM32 Key Handling: From Basics to Complete Implementation (with Code Examples)

Introduction to STM32 Key Handling: From Basics to Complete Implementation (with Code Examples)

Introduction to STM32 Key Handling: From Basics to Complete Implementation (with Code Examples) 🔑 What is a “Key”? In embedded development, keys (Button/Key) are one of the most common forms of human-machine interaction. It is essentially a mechanical switch: Based on the above schematic analysis, we can conclude: • Not Pressed: The circuit is open, … Read more