PRS - Peripheral Reflex System
Description
Peripheral Reflex System (PRS) Peripheral API.
This module contains functions to control the PRS peripheral of Silicon Labs 32-bit MCUs and SoCs. The PRS allows configurable, fast, and autonomous communication between peripherals on the MCU or SoC.
Functions |
|
void | PRS_SourceSignalSet (unsigned int ch, uint32_t source, uint32_t signal, PRS_Edge_TypeDef edge) |
Set a source and signal for a channel.
|
|
void | PRS_SourceAsyncSignalSet (unsigned int ch, uint32_t source, uint32_t signal) |
Set the source and asynchronous signal for a channel.
|
|
void | PRS_GpioOutputLocation (unsigned int ch, unsigned int location) |
Send the output of a PRS channel to a GPIO pin.
|
|
int | PRS_GetFreeChannel ( PRS_ChType_t type) |
Search for the first free PRS channel.
|
|
void | PRS_Reset (void) |
Reset all PRS channels.
|
|
void | PRS_ConnectSignal (unsigned int ch, PRS_ChType_t type, PRS_Signal_t signal) |
Connect a PRS signal to a channel.
|
|
void | PRS_LevelSet (uint32_t level, uint32_t mask) |
Set level control bit for one or more channels.
|
|
uint32_t | PRS_LevelGet (void) |
Get level control bit for all channels.
|
|
void | PRS_PulseTrigger (uint32_t channels) |
Trigger a high pulse (one HFPERCLK) for one or more channels.
|
|
void | PRS_ChannelLevelSet (unsigned int ch, bool level) |
Set the PRS channel level for one asynchronous PRS channel.
|
|
void | PRS_ChannelPulse (unsigned int ch) |
Trigger a pulse on one PRS channel.
|
|
Macros |
|
#define | PRS_SYNC_CHAN_COUNT PRS_CHAN_COUNT |
PRS Synchronous channel count.
|
|
#define | PRS_ASYNC_CHAN_COUNT PRS_CHAN_COUNT |
PRS Asynchronous channel count.
|
|
#define | PRS_ASYNC_SUPPORTED 1 |
PRS asynchronous support.
|
|
Enumerations |
|
enum |
PRS_ChType_t
{
prsTypeAsync , prsTypeSync } |
PRS Channel type.
|
|
enum |
PRS_Edge_TypeDef
{
prsEdgeOff , prsEdgePos , prsEdgeNeg , prsEdgeBoth } |
Edge detection type.
|
|
enum |
PRS_Signal_t
{
prsSignalNone = PRS_CH_CTRL_SOURCESEL_NONE | (0x0 << _PRS_CH_CTRL_SIGSEL_SHIFT), prsSignalSW = PRS_CH_CTRL_SOURCESEL_NONE | (0x1 << _PRS_CH_CTRL_SIGSEL_SHIFT), prsSignalADC0_SINGLE = PRS_ADC0_SINGLE, prsSignalADC0_SCAN = PRS_ADC0_SCAN, prsSignalTIMER0_UF = PRS_TIMER0_UF, prsSignalTIMER0_OF = PRS_TIMER0_OF, prsSignalTIMER0_CC0 = PRS_TIMER0_CC0, prsSignalTIMER0_CC1 = PRS_TIMER0_CC1, prsSignalTIMER0_CC2 = PRS_TIMER0_CC2, prsSignalTIMER1_UF = PRS_TIMER1_UF, prsSignalTIMER1_OF = PRS_TIMER1_OF, prsSignalTIMER1_CC0 = PRS_TIMER1_CC0, < |