Event-Driven Programming and State Machines

Course#: BSEMB10017

About this Course

Course Type Course Code Duration
Embedded Software BSEMB1017 2 Days

Once learned, the technique of event-driven programming is a fun and easy way to write reliable and maintainable embedded software. Unfortunately, most embedded programmers either haven’t heard of event-driven programming or don’t know how to use it properly. This course trains programmers to architect firmware with an event focus and shows the many benefits of using state machine frameworks to implement the resulting design.

Why Attend this Course?

You’ll also learn UML’s statechart notation and a variety of best practices for effective event-driven programming in C (contact us about C++ options).

What Makes this Course Stand Apart?

What you will Learn?


Embedded software developers and managers


Experience writing embedded software in C or C++

Course Outline

Reactive Programming
Events and Reactions
Event Queues
State Machines
Active Objects
UML Statecharts
States and Transitions
Guard Conditions
Actions and Reactions
Entry and Exit Actions

Design Patterns
Ultimate Hook
Deferred Event
Orthogonal Component
Transition to History
Inversion of Control
Event Delivery
Garbage Collection
Time and Power
Related Topics
Common Pitfalls
Preemption and Priority
Software Tracing
Debug and Test

Demonstration Platforms

Quantum Platform (link is external)
Texas Instruments Cortex-M4 Based LaunchPad


Start typing and press Enter to search