Enabling and disabling of channels globally is handled through DPPIC. Connection (connect/disconnect) between a channel and a peripheral is handled locally by the PPIBus.
There are two ways of enabling and disabling global channels using DPPIC:
- Enable or disable channels individually using registers CHEN, CHENSET, and CHENCLR.
- Enable or disable channels in channel groups using the groups' tasks ENABLE and DISABLE. It needs to be defined which channels belong to which channel groups before these tasks are triggered.
Note: ENABLE tasks are prioritized over DISABLE tasks. When a channel belongs to two or more
groups, for example group m and n, and the tasks CHG[m].EN and CHG[n].DIS occur
simultaneously (m and n can be equal or different), the CHG[m].EN task on that channel
is prioritized.
DPPIC tasks (for example CHG[0].EN) can be triggered through DPPI like any other task, which means they can be linked to a DPPI channel through the subscribe registers.
In order to write to CHG[x], the corresponding CHG[x].EN and CHG[x].DIS subscribe registers must be disabled. Writes to CHG[x] are ignored if any of the two subscribe registers are enabled.