Naming convention in C

In the world of C programming, the clarity and maintainability of your code often hinge on a seemingly simple yet crucial aspect: naming conventions. From variables to functions, constants to macros, the names you choose can significantly impact how easily others (and your future self) understand and work with your code. While the C language […]

Function Prototype in C

This article delves into the concept of function prototypes in C, exploring their syntax, purpose, and benefits. Whether you’re a beginner learning the fundamentals or an experienced programmer looking to refine your understanding, mastering function prototypes is a foundational step toward writing efficient and maintainable C programs. In the C programming language, a function prototype […]

User Datagram Protocol basics

User Datagram Protocol is an Internet protocol used to transfer user data between two points without requiring a connection. This makes it very lightweight. It works on the transport layer like TCP, but is much simpler. Unlike TCP, there is no guarantee that the data packet has reached the recipient because no acknowledgements are used. […]

Stack, heap and memory management in microcontrollers

In this article I’ll do my best to explain as simply as possible how memory management in microcontrollers works, what are „stack” and „heap” areas, and what’s the difference between them. Let’s start with a general diagram presenting how „uC” RAM memory is divided into diffrent arreas: Starting from the bottom, which is the beginning […]

Declaration vs Definition

In this article, I will explain two most important concepts in C language that are very often confused by beginner embedded developers. I will explain what each of them means and what is the key difference, so from now on you won’t confuse them