Microcontrollers can be used for controlling other devices. Examples of devices controlled by microcontrollers are analog to digital converters, digital to analog converters, input and output ports, DMA controllers, and memories. A microcontroller may provide an interface for breaking the program execution and debugging a program running thereon.
The devices that are controlled by microcontrollers send and receive information in the form of a number of signaling events. The signaling events inform the microcontroller and/or the other devices of such events like changing the state of a specific device. A device can respond to a signaling event received from other devices or the microcontroller and perform a corresponding action.
Increasing the number of devices in a system can increase the number of signaling events that occur. In some architectures, an event system can be provided that includes multiplexers that rout the signaling events among the devices as well as the microcontroller.