16.3.2.4 Event Users

The event channel to listen to is selected by configuring the event user. An event user may require the event signal to be either synchronous or asynchronous to the peripheral clock. An asynchronous event user can respond to events in sleep modes when clocks are not running. Such events can be responded to outside the normal edges of the peripheral clock, making the event user respond faster than the clock frequency would suggest. For details on the requirements of each peripheral, refer to the documentation of the corresponding peripheral.

Most event users implement edge or level detection to trigger actions in the corresponding peripheral based on the incoming event signal. In both cases, a user can either be synchronous, which requires that the incoming event is generated from the peripheral clock (CLK_PER), or asynchronous, if not. Some asynchronous event users do not apply event input detection but use the event signal directly. The different event user properties are described in general in the table below.

Table 16-3. Properties of Event Users
Input DetectionAsync/SyncDescription
EdgeSyncAn event user is triggered by an event edge and requires that the incoming event is generated from CLK_PER
AsyncAn event user is triggered by an event edge and has asynchronous detection or an internal synchronizer
LevelSyncAn event user is triggered by an event level and requires that the incoming event is generated from CLK_PER
AsyncAn event user is triggered by an event level and has asynchronous detection or an internal synchronizer
No detectionAsyncAn event user will use the event signal directly

The table below shows the available event users for this device family.

Table 16-4. Event Users
USER NameDescriptionInput DetectionAsync/Sync
PeripheralInput
CCLLUTnxLUTn event input xLevelAsync
ADCnSTARTADC start on eventEdgeAsync
EVSYSEVOUTxEVSYS pin output xNo detectionAsync
USARTnIRDAUSARTn IrDA event inputLevelSync
TCEnCNTACount on positive event edgeEdgeSync
Count on any event edgeEdge
Count while event signal is highLevel
Event level controls count direction, up when low and down when highLevel
CNTBEvent level controls count direction, up when low and down when highLevelSync
Restart counter on positive event edgeEdge
Restart counter on any event edgeEdge
Restart counter while event signal is highLevel
TCBn CAPTTimeout checkEdgeSync
Input capture on eventEdge
Input capture frequency measurementEdge
Input capture pulse-width measurementEdge
Input capture frequency and pulse-width measurementEdge
Single-shotEdgeBoth
COUNTCount on event EdgeSync
TCFnCOUNTCount on event EdgeAsync
ACTIONEvent actionEdge/levelAsync
WEXnFAULTAFault input ALevelAsync
FAULTBFault input BLevelAsync
FAULTCFault input CLevelAsync