Embedded Development in C: When to Use the Volatile Keyword for Variables?

Embedded Development in C: When to Use the Volatile Keyword for Variables?

What is the volatile keyword? In embedded programming with C, the volatile keyword is very important. Its English meaning is “changeable”. Its main function is to inform the compiler that the value of the variable it modifies may change in ways that the compiler cannot predict during program execution. Therefore, the compiler cannot perform regular … Read more

How to Prevent Variable Changes Due to Interrupts in Microcontroller Programming

How to Prevent Variable Changes Due to Interrupts in Microcontroller Programming

Introduction In embedded development, have you ever encountered a scenario where the value of a global variable suddenly changes? The interrupt service routine has modified it, yet the main program continues to read the old value. Even more frustrating, these issues are often difficult to reproduce, making debugging feel like “catching ghosts.” The root cause … Read more