For over two decades, microcontrollers have begun to take control over most of the activities that can be described by algorithms, and will become more and more indispensable - they are here to stay. Incorporating all the blocks needed to run any algorithm, microcontrollers gain, by software, an increasing amount of intelligence.
Our problem is that all these microcontrollers do not actually have their own intelligence, but they include a part of that of the man's who is writing in the non-volatile memory - the programmer.
It should be mentioned here that for embedded systems, the programming must respond to some specific, increasing requirements, making it more difficult than a classical one, achievable only by programmers with special training. The purpose of this book is to broaden their class, with individual and socially predictable beneficial consequences.