The interconnect system connects the various hardware peripherals using trigger signals.
Triggers are output when a particular event occurs or condition is met by one of the peripherals. These triggers can be routed to other peripherals using the interconnect system in order to initiate an action at the destination peripheral.
Peripherals must be configured to produce/accept trigger signals. Therefore in practice, there is no need to call _cyhal_connect_signal manually. Instead, use the per-peripheral cyhal_*PERI*_connect_digital or cyhal_*PERI*_enable_output which will handle configuring the peripheral and making the connections internally.
Trigger routing is implemented using trigger multiplexers. A single source trigger can be routed to multiple destinations but a single destination can only be connected to a single source. There are different trigger layouts depending on device architecture.
Trigger routing is device specific. See Trigger Connections for the available connections for your device.
API Reference | |
Trigger Connections | |
Trigger connections for supported device families: | |
Functions | |
cy_rslt_t | _cyhal_connect_signal (cyhal_source_t source, cyhal_dest_t dest) |
Connects two digital signals on the device using the internal interconnect. More... | |
cy_rslt_t | _cyhal_disconnect_signal (cyhal_source_t source, cyhal_dest_t dest) |
Disconnects two digital signals on the device that were previously connected using the internal interconnect. More... | |
bool | _cyhal_can_connect_signal (cyhal_source_t source, cyhal_dest_t dest) |
Checks to see if a signal can be connected between the provided source and dest. More... | |
cy_rslt_t _cyhal_connect_signal | ( | cyhal_source_t | source, |
cyhal_dest_t | dest | ||
) |
Connects two digital signals on the device using the internal interconnect.
A single source can drive multiple destinations, but a destination can be driven by only one source. If the destination is already connected, or the connection can not be established an error will be returned.
[in] | source | The source of the signal to connect |
[in] | dest | The destination of the signal to connect |
cy_rslt_t _cyhal_disconnect_signal | ( | cyhal_source_t | source, |
cyhal_dest_t | dest | ||
) |
Disconnects two digital signals on the device that were previously connected using the internal interconnect.
[in] | source | The source of the signal to disconnect |
[in] | dest | The destination of the signal to disconnect |
bool _cyhal_can_connect_signal | ( | cyhal_source_t | source, |
cyhal_dest_t | dest | ||
) |
Checks to see if a signal can be connected between the provided source and dest.
[in] | source | The source of the signal to check |
[in] | dest | The destination of the signal to check |