Many everyday objects have become embedded, connected and even autonomous. The engineers and technicians who develop them must have skills in both computer science and electronics.
Drawing on some 20 years of experience in the field of hardware and embedded computing, Programming of Embedded Systems analyzes how physical objects can interact with microcontrollers. It presents the fundamental principles of programming and code structuring. Although based on a specific family (STM32) of microcontrollers, the various chapters outline general concepts applicable to any microcontroller. They analyze the mechanisms that govern exchanges between a computer program and a hardware component of the embedded object.
Each chapter details the programming of peripheral units and ends with an example using a common application for managing the heating of a home equipped with a photovoltaic installation to illustrate implementation in the programming language C.
1. Aims, Context and a Guiding Thread Example.
2. General Programming Principles.
3. General STM32F10x Hardware Considerations.
4. Binary Inputs/Outputs (I/O): Parallel Ports.
5. Interrupt and DMA Management.
6. Timers.
7. Pulse-Width Modulation (PWM).
8. Analog to Digital Converter.
9. Some Communication Buses.
10. STM32 Power Management.
Vincent Mahout is Lecturer at INSA Toulouse, France, where he teaches automation and hardware and embedded computing.
Thierry Rocacher is Associate Professor of Electrical Engineering at INSA Toulouse, France, where he teaches electronics and embedded computing.
Guillaume Auriol is Associate Professor of Electrical Engineering at INSA Toulouse, France, where he teaches electronics and embedded computing.