Microcontroller Embedded C Programming: Absolute Beginners

Why take this course?
based on the provided outline, here is a more detailed breakdown of each chapter with explanations and potential content expansions:
Chapter 1: Introduction to Embedded Systems
- Overview of embedded systems and their significance.
- Discussion of real-world applications and examples.
- Introduction to the typical architectures of microcontrollers (e.g., AVR, PIC, ARM).
- Explanation of the book's approach to understanding time management in embedded systems.
Chapter 2: Understanding Time in Embedded Systems
- Detailed explanation of clock sources and frequency settings.
- How to read the current time from registers.
- Exploration of timing events, both hardware (crystal oscillator) and software (system clocks).
- Introduction to scheduling tasks based on time.
Chapter 3: Managing Time with Delays
- Techniques for implementing delays in embedded systems.
- Discussion of blocking vs. non-blocking delays.
- Example implementations and the impact of clock errors and prescalers.
- Best practices for delay functions to ensure accurate timing.
Chapter 4: Managing Time with Interrupts
- Explanation of interrupt service routines (ISRs).
- Discussion on how ISRs can be used for time management.
- Examples of using timers as interrupt sources.
- Considerations for ISR latency and critical sections.
Chapter 5: Meeting Real-Time Constraints (Continued)
- Strategies to handle hardware delays and timing constraints.
- Detailed examples of implementing precise timing with Timer 0 and Timer 1.
- Discussion on the limitations and use cases for Timer 2.
- Designing timeout mechanisms and their implementation.
Chapter 6: Meeting Real-Time Constraints (Continued)
- Introduction to the importance of real-time constraints.
- Implementation of hardware delays using Timer 0 and Timer 1.
- Practical examples of creating precise timeouts and demonstrating their use.
- Discussion on the portability of such implementations across different microcontroller families.
Chapter 7: Creating an Embedded Operating System
- Conceptualization and implementation of a simple embedded OS (sEOS).
- Explanation of system architecture using Timer 0 or Timer 1 for timing.
- Discussion on the portability of such an OS and considerations for different architectures.
- Example application demonstrating sEOS in action, such as milk pasteurization.
Chapter 8: Multi-State Systems and Function Sequences
- Explanation of implementing systems with multiple states and how to manage transitions between these states.
- Practical examples like traffic light sequencing and animatronic dinosaurs.
- Implementation of input-based state transitions, as seen in washing machine controllers.
Chapter 9: Using the Serial Interface
- Comprehensive guide to RS-232, its history, and its relevance today.
- In-depth look at the RS-232 protocol, data transmission, baud rates, and flow control.
- Designing software architecture for serial communication, including the use of on-chip UARTs.
- Examples of serial communication applications, such as sending elapsed time data to a PC or implementing a remote-control system.
Chapter 10: Case Study: Intruder Alarm System
- Step-by-step breakdown of an intruder alarm system's software architecture and components.
- Detailed explanation of how the software runs on the microcontroller, with a focus on timing and state management.
- Examination of the complete program, including memory usage considerations.
Chapter 11: Where do we go from here?
- Summary of what has been covered and the aims achieved by the book.
- Suggestions for further study topics, such as Time-Triggered Embedded Systems (TES) and embedded operating systems.
- Final thoughts on the importance of understanding time management in embedded systems and potential future trends.
Throughout the book, each chapter should be accompanied by code examples that can be downloaded and experimented with to reinforce learning. Additionally, the book could include troubleshooting tips, common pitfalls to avoid, and additional resources for readers who wish to delve deeper into specific topics.
Course Gallery




Loading charts...