itransition-iot.hashnode.devCommon Mistakes in Embedded C Development: Assuming atomicity for multi-byte data馃摌 Introduction This is Part 5 of our 5-part series on concurrency and timing mistakes in Embedded C. In Part 4, we covered the dangers of misusing timer callbacks or interrupt routines. Now we鈥檒l explore a subtle yet dangerous mistake: assuming that...Sep 16, 2025路3 min read
itransition-iot.hashnode.devCommon Mistakes in Embedded C Development: Misusing timer callbacks or interrupt routines馃摌 Introduction This is Part 4 of our 5-part series on concurrency and timing mistakes in Embedded C. In Part 3, we discussed missing synchronisation in producer-consumer scenarios. Now we turn to a common but dangerous anti-pattern: doing too much w...Sep 9, 2025路3 min read
itransition-iot.hashnode.devCommon Mistakes in Embedded C Development: Missing synchronisation in producer-consumer scenarios馃摌 Introduction This is Part 3 of our 5-part series on concurrency and timing mistakes in Embedded C. In Part 2, we discussed how race conditions on global variables can silently corrupt data. In this part, we focus on another frequent issue: broken ...Sep 1, 2025路4 min read
itransition-iot.hashnode.devCommon Mistakes in Embedded C Development: Race conditions with global variables馃摌 Introduction This is Part 2 of our 5-part series on concurrency and timing mistakes in Embedded C. In Part 1, we discussed the dangers of using delay() or busy loops for timing. In this part, we鈥檒l dive into a more subtle and dangerous issue: race...Aug 26, 2025路3 min read
itransition-iot.hashnode.devCommon Mistakes in Embedded C Development: Using delay() or busy loops for timing馃摌 Introduction In embedded systems, timing isn鈥檛 just important - it鈥檚 everything. From handling sensor data to controlling actuators or maintaining communication protocols, precise timing and safe concurrent execution are critical to ensuring syste...Aug 19, 2025路4 min read