On a weekly basis, I receive a fair number of emails with questions about how to design embedded systems. One question that seems to be asked more frequently than others is how to write a configurable driver that uses callbacks with interrupts. If a developer is writing a driver that will be reused in multiple … Continue reading Using Callbacks with Interrupts
Category: Driver Design
7 Steps to Create a Reusable Debounce Algorithm
A quick google search reveals that there are over 212,000 websites that examine how to debounce a button. After examining a number of them it is obvious that these implementations are not meant for reuse. The implementations and strategies often lack scalability, the ability to debounce multiple buttons easily and portability. They are tightly coupled … Continue reading 7 Steps to Create a Reusable Debounce Algorithm
The Hardware Abstraction Layer Design Process
Using a HAL is a great way to develop software that can be easily reused and ported from one application and platform to the next. Why would a developer want to do such a thing? For starters, reinventing the wheel over and over again gets pretty boring. I believe most developers want to be working … Continue reading The Hardware Abstraction Layer Design Process