Five Key Considerations in Embedded Microcontroller Programming

Five Key Considerations in Embedded Microcontroller Programming

During the process of microcontroller programming, if a designer can master multiple programming languages simultaneously, then this designer is certainly a very talented individual. However, it is quite challenging to be proficient in Assembly, C, and C++ at the same time. Many beginners encounter obstacles while learning even one of these languages, leading to frustration. … Read more

Discussion on Microcontroller Programming Efficiency

Discussion on Microcontroller Programming Efficiency

I am an embedded developer who has worked on various models of microcontrollers and embedded systems. Sometimes, I often look at programs written by others and frequently find many issues in the details. Although the functionalities achieved are the same, the stability can vary. I would like to discuss some problems I have observed for … Read more

Summary of Microcontroller Programming Issues

Summary of Microcontroller Programming Issues

Wu Jianying Microcontroller Development Board Address Shop: 【Wu Jianying’s Shop】 Address: 【https://item.taobao.com/item.htm?_u=ukgdp5a7629&id=524088004171】 1. The pointer to the code area array must also declare the code keyword. For example, for the array unsigned char code arr[30];, to point to it, the pointer must also be declared as unsigned char code *p; Later use found that in … Read more

Interrupts vs Polling in Embedded Development

Interrupts vs Polling in Embedded Development

Follow+Star Public Account, don’t miss the wonderful content Source | Technology Makes Dreams Greater After a week of testing the waters, I’m ready to sit at home and code, and catch up on my writing. Just as I was focused on outputting, my wife interrupted me. The baby is crying, come quickly! There was a … Read more

Software Architecture Design Using RUP 4+1 View Method

Software Architecture Design Using RUP 4+1 View Method

Developing software that satisfies users is not an easy task; software architects must comprehensively grasp various requirements, weigh potential conflicts between them, and categorize different requirements for satisfaction. This article discusses the complexity of understanding different types of requirements and demonstrates, through specific case analysis, how to perform architectural design using the RUP 4+1 view … Read more

How to Determine If Cortex-M Processor Is Executing Interrupt Function?

How to Determine If Cortex-M Processor Is Executing Interrupt Function?

Follow+Star Public Account, don’t miss wonderful content Author | strongerHuang WeChat Official Account | Embedded Column Today, I want to share some knowledge I encountered while debugging code: the usage of __get_CONTROL, and the differences between xQueueSend and xQueueSendFromISR; 1 Source of the Problem I previously ported some code written by others on the FreeRTOS … Read more

Getting Started: Bare-Metal Programming on ARM Cortex-M Microcontrollers

Getting Started: Bare-Metal Programming on ARM Cortex-M Microcontrollers

Getting Started: Bare-Metal Programming on ARM Cortex-M Microcontrollers Bare-metal programming typically refers to the process of writing programs to control hardware devices directly without an operating system. For embedded system developers, this is a fundamental and important skill. Today, I will guide you through how to implement bare-metal programming on ARM Cortex-M series microcontrollers. Starting … Read more

Understanding Cortex-M Interrupt Vector Table and Redirection Methods

Understanding Cortex-M Interrupt Vector Table and Redirection Methods

Hello everyone, I am Pi Zi Heng, a serious techie. Today, I will share with you the principles of the Cortex-M interrupt vector table and its redirection methods. Continuing from the previous article “Three Implementations of Critical Section Protection in Embedded Cortex-M Bare Metal Environment”, in embedded code design, sometimes certain special operations (such as … Read more

Comprehensive Guide to ARM GICv3

Comprehensive Guide to ARM GICv3

1 You must have learned about it. Some say it can interrupt the CPU’s sequential execution, which is the essence of microcontroller learning. Others say it helps the CPU achieve asynchronous multitasking, thereby improving CPU efficiency. Some also say it effectively manages various system resources and coordinates relationships between multiple CPUs. The knowledge I am … Read more

Arduino Uno External Interrupt Tutorial with Exercises

Arduino Uno External Interrupt Tutorial with Exercises

Performance Parameters① Main Control Chip: ATmega328P② Digital Input/Output Pins: 14③ PWM Pins: 6④ Storage (Code Space): 32KB⑤ RAM (Runtime Storage): 2KB; EEPROM (Power-off Save Space): 1KB⑥ Crystal Oscillator: 16MHz Online Simulation: https://wokwi.com/ Arduino Uno Tutorial ①: Installing Arduino IDE Arduino Uno Tutorial ②: Development Board and LED Test Arduino Uno Tutorial ③: Button Control LED, … Read more