Detailed Explanation of SPI Principles – A Must Read

Detailed Explanation of SPI Principles - A Must Read

What is SPI SPI stands for Serial Peripheral Interface in English, which, as the name suggests, is a serial peripheral device interface. It was first defined by Motorola in its MC68HCXX series processors. SPI is a high-speed, full-duplex, synchronous communication bus that only occupies four lines on the chip’s pins, saving pin space and providing … Read more

Detailed Explanation of SPI Protocol Using ADS1118

Detailed Explanation of SPI Protocol Using ADS1118

Recently, I needed to write a protocol, so I reviewed SPI again. (I have kept this draft for too long, if I don’t publish it now, I will forget it) First, I analyzed the characteristics of the SPI protocol, using the ADS1118 device as a carrier for analysis. Later, I used a logic analyzer to … Read more

Quick Use of UART Serial Port and Applications

Quick Use of UART Serial Port and Applications

1. Serial Port Activation Process Before we start, let’s take a look at a few demo programs for serial ports from different chips. These include the STM32 V3.5 standard library, the official demo for nRF52832, and the official DEMO for the STC15 series microcontroller with a 51 core. From the above demo examples and the … Read more

Live Broadcast | Pain Points and Solutions for Embedded AI Implementation

Live Broadcast | Pain Points and Solutions for Embedded AI Implementation

Since the launch of the world’s first MCU based on the Arm Cortex-M architecture in 2007, STM32 has gradually become the favorite platform for embedded engineers, achieving the top market share in China’s MCU market in 2018. In response to the market trend of increasing intelligence and the integration of AI in cloud-edge-end systems for … Read more

Understanding STM32 Interrupt Priority: Preemptive and Response Priority

Understanding STM32 Interrupt Priority: Preemptive and Response Priority

1. Preemptive Priority and Response Priority The STM32 interrupt vector has two attributes: preemptive priority and response priority, with a smaller attribute number indicating a higher priority level.Preemption refers to the ability to interrupt other interrupts, meaning that it allows for nested interrupts (interrupt B can interrupt the execution of interrupt service function A, and … Read more

Powerful JTAG Boundary Scan 3 – Common Boundary Scan Test Software

Powerful JTAG Boundary Scan 3 - Common Boundary Scan Test Software

The previous two articles introduced the basic principles of boundary scan and BSDL files. This article introduces two software tools commonly used for boundary scan testing. In the practical application section, we will demonstrate boundary scan testing applications based on STM32 and FPGA. This article introduces two commonly used boundary scan testing software: XJTAG and … Read more

Practical Experience: Variable Initialization in Keil, IAR, CubeIDE

Practical Experience: Variable Initialization in Keil, IAR, CubeIDE

Keywords: Uninitialized, Compilation Environment Table of Contents 1. Introduction 2. IAR Method for Uninitialized Variables 3. Keil Method for Uninitialized Variables 4. CubeIDE Method for Uninitialized Variables 01 Introduction Sometimes in our applications, we require variables to maintain continuity or to retain state, such as during a Bootloader jump. For various reasons, during a reset … Read more

Methods to Preserve Variables in Keil, IAR, and CubeIDE

Methods to Preserve Variables in Keil, IAR, and CubeIDE

1 Introduction Sometimes, our applications require variables to maintain continuity or to preserve the state, for example, during Bootloader jumps or resets where certain critical variables should not be initialized. Different compilation environments have different settings. This article summarizes this operation and introduces the methods used in Keil, IAR, and CubeIDE. The chip used in … Read more

How to Configure CRC Parameters in IAR

How to Configure CRC Parameters in IAR

Introduction All STM32 series products come with a CRC peripheral that provides hardware support for CRC calculations, saving code space for applications. The CRC checksum can be used to verify the correctness of data during transmission and can also be used for integrity checks during data storage. In IEC60335, CRC checks are accepted for verifying … Read more

STM32 BSP LPSPI Library Implementation

STM32 BSP LPSPI Library Implementation

Previously, I used the RT1052 development board, but now STM32 is obviously more popular among everyone. Therefore, I am providing this C file for everyone to benefit from the driver I wrote earlier. #include "bsp_lpspi.h" SPI_HandleTypeDef SpiHandle; void Spi_delay(uint32_t count){ volatile uint32_t i = 0; for (i = 0; i < count; ++i) { __asm("NOP"); … Read more