Should You Learn Linux After Studying RTOS in Graduate School? Absolutely!

Should You Learn Linux After Studying RTOS in Graduate School? Absolutely!

Student Situation:This student is a graduate student with limited time, looking to enhance their skills through our teaching to complete their project. Recently, a student consulted about the embedded STM32 learning course, wanting to improve their skills to complete their project. Based on their background, we recommended that the student start with Linux, and we … Read more

In-Depth Analysis of UART Communication: From Low-Level Registers to Interrupt-Driven Processes

In-Depth Analysis of UART Communication: From Low-Level Registers to Interrupt-Driven Processes

Today, while working on an intelligent voice control module, I wanted to reinforce my knowledge of serial communication. Upon reviewing my previous notes, I found them lacking in detail, so I decided to write a new article explaining the principles of serial communication, covering both hardware and software implementations clearly. This will thoroughly clarify the … Read more

What Can ST’s Dual Supply Chain Bring to Chinese Customers?

What Can ST's Dual Supply Chain Bring to Chinese Customers?

Follow “Electronic Engineering Magazine” and add the editor’s WeChat Regional groups are now open, please send messages 【Shenzhen】【Shanghai】【Beijing】【Chengdu】【Xi’an】 to the public account In recent years, STMicroelectronics (ST) has been very active in the Chinese market. From collaborating with Huahong Semiconductor to establish a 40nm STM32 production line, to jointly building a silicon carbide (SiC) front-end … Read more

Learning FreeRTOS Code (Part Four)

Learning FreeRTOS Code (Part Four)

•STM32 Cube Software Package Code Structure ARM has added a middleware layer, CMSIS_RTOS/cmsis_os.c, to ensure compatibility with various operating systems. Taking the STM32L4XX MCU software package as an example, other FreeRTOS release code files are located at this path: STM32Cube_FW_L4_V1.18.0\Middlewares\Third_Party\FreeRTOS\Source •vTask/xTask/eTask Online explanations state that both vTask and xTask are tasks within the FreeRTOS system, … Read more

Understanding the Microcontroller Startup Process (STM32) for Hardware Engineers, Including a Troubleshooting Manual for Startup Issues

Understanding the Microcontroller Startup Process (STM32) for Hardware Engineers, Including a Troubleshooting Manual for Startup Issues

As a hardware engineer, have you ever encountered these issues: The circuit board shows no response after power is applied, like a “brick”. The program occasionally starts, but sometimes hangs. Peripheral initialization is abnormal, yet the code logic is correct. These issues stem from startup process anomalies 80% of the time! Let’s learn about the … Read more

The Secret of Microcontroller GPIO Driving Capability: Why ‘Sinking’ is More Powerful than ‘Sourcing’?

The Secret of Microcontroller GPIO Driving Capability: Why 'Sinking' is More Powerful than 'Sourcing'?

In embedded system design, we often need to use the General Purpose Input/Output (GPIO) pins of microcontrollers (MCUs) to drive peripheral devices such as LEDs and relays. I still remember that my first code in college was to control the blinking of an LED using the 8051 microcontroller. I wonder if the current university courses … Read more

Learning STM32 USB

Learning STM32 USB

•Official Documentation These two official documents provide a detailed description of the protocol and hardware features, along with some code explanations. “USB Training_Part1_Protocol.pdf”, “USB CDC Class Introduction Training.pdf” Reference website:https://www.usbzh.com/ •Library ExamplesUser-related files usbd_desc.c: This file provides the USBD descriptors and string formatting method. usbd_conf.c: This file implements the USB Device library callbacks and MSP. … Read more

Detailed Explanation of CAN Communication Function and Source Code for STM32F407 Microcontroller

Detailed Explanation of CAN Communication Function and Source Code for STM32F407 Microcontroller

Click the blue text Follow us 1. Overview CAN stands for Controller Area Network, which is an ISO standardized serial communication protocol and one of the most widely used field buses internationally. CAN communication uses only two signal lines, namely CAN_High and CAN_Low. The CAN controller determines the bus level based on the potential difference … Read more

Detailed Explanation of GPIO Operations for 32-bit Microcontrollers

Detailed Explanation of GPIO Operations for 32-bit Microcontrollers

32 Single Chip Microcontroller I O When it comes to the IO of the 32-bit microcontroller, taking the F1 series as an example, we first need to mention: 1 initialization function: void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 2 functions to read input levels: uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); 2 functions to read output … Read more