PRS - Peripheral Reflex System#

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.

Example#

This example demonstrates how to configure the Peripheral Reflex System (PRS) to connect a producer (TIMER0 overflow) directly to a consumer (GPIO pin toggle) without CPU intervention.

#include "sl_hal_prs.h"
#include "sl_hal_timer.h"
#include "sl_hal_gpio.h"
#include "sl_clock_manager.h"

void prs_example(void)
{
  // Enable PRS and TIMER0 clocks
  sl_clock_manager_enable_bus_clock(SL_BUS_CLOCK_PRS);
  sl_clock_manager_enable_bus_clock(SL_BUS_CLOCK_TIMER0);

  // Configure GPIO pin as output (e.g., Port D, Pin 1)
  sl_gpio_t gpio;
  gpio.port = SL_GPIO_PORT_D;
  gpio.pin = 1;
  sl_hal_gpio_set_pin_mode(&gpio, SL_GPIO_MODE_PUSH_PULL, 0);

  // Configure TIMER0 (basic up-counting mode, overflow at 0xFFFF)
  sl_hal_timer_init_t timer_init = {0};
  timer_init.count_mode = SL_HAL_TIMER_MODE_UP;
  timer_init.clock_select = SL_HAL_TIMER_CLKSEL_HFPERCLK;
  timer_init.prescaler = SL_HAL_TIMER_PRESCALER_DIV1;
  sl_hal_timer_init(TIMER0, &timer_init);
  sl_hal_timer_enable(TIMER0);
  sl_hal_timer_set_top(TIMER0, 0xFFFF);
  sl_hal_timer_start(TIMER0);

  // Configure PRS channel 0: TIMER0 overflow as async producer
  uint8_t prs_channel = 0;
  sl_hal_prs_async_connect_channel_producer(prs_channel, SL_HAL_PRS_ASYNC_TIMER0_OF);

  // Route PRS output to GPIO pin (Port D, Pin 1)
  sl_hal_prs_pin_output(prs_channel, SL_HAL_PRS_TYPE_ASYNC, SL_GPIO_PORT_D, 1);

  // Now, whenever TIMER0 overflows, PRS will toggle the GPIO pin without CPU intervention
}

Modules#

sl_hal_prs_async_channel_init_t

sl_hal_prs_sync_channel_init_t

Enumerations#

enum
SL_HAL_PRS_TYPE_ASYNC
SL_HAL_PRS_TYPE_SYNC
}

PRS Channel type.

enum
SL_HAL_PRS_LOGIC_ZERO = _PRS_ASYNC_CH_CTRL_FNSEL_LOGICAL_ZERO
SL_HAL_PRS_LOGIC_A_NOR_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_NOR_B
SL_HAL_PRS_LOGIC_NOT_A_AND_B = _PRS_ASYNC_CH_CTRL_FNSEL_NOT_A_AND_B
SL_HAL_PRS_LOGIC_NOT_A = _PRS_ASYNC_CH_CTRL_FNSEL_NOT_A
SL_HAL_PRS_LOGIC_A_AND_NOT_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_AND_NOT_B
SL_HAL_PRS_LOGIC_NOT_B = _PRS_ASYNC_CH_CTRL_FNSEL_NOT_B
SL_HAL_PRS_LOGIC_A_XOR_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_XOR_B
SL_HAL_PRS_LOGIC_A_NAND_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_NAND_B
SL_HAL_PRS_LOGIC_A_AND_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_AND_B
SL_HAL_PRS_LOGIC_A_XNOR_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_XNOR_B
SL_HAL_PRS_LOGIC_B = _PRS_ASYNC_CH_CTRL_FNSEL_B
SL_HAL_PRS_LOGIC_NOT_A_OR_B = _PRS_ASYNC_CH_CTRL_FNSEL_NOT_A_OR_B
SL_HAL_PRS_LOGIC_A = _PRS_ASYNC_CH_CTRL_FNSEL_A
SL_HAL_PRS_LOGIC_A_OR_NOT_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_OR_NOT_B
SL_HAL_PRS_LOGIC_A_OR_B = _PRS_ASYNC_CH_CTRL_FNSEL_A_OR_B
SL_HAL_PRS_LOGIC_ONE = _PRS_ASYNC_CH_CTRL_FNSEL_LOGICAL_ONE
}

Logic functions that can be used when combining two PRS channels.

enum
SL_HAL_PRS_ASYNC_NONE = 0x0
SL_HAL_PRS_ASYNC_USART0_CS = PRS_ASYNC_USART0_CS
SL_HAL_PRS_ASYNC_USART0_IRTX = PRS_ASYNC_USART0_IRTX
SL_HAL_PRS_ASYNC_USART0_RTS = PRS_ASYNC_USART0_RTS
SL_HAL_PRS_ASYNC_USART0_RXDATA = PRS_ASYNC_USART0_RXDATA
SL_HAL_PRS_ASYNC_USART0_TX = PRS_ASYNC_USART0_TX
SL_HAL_PRS_ASYNC_USART0_TXC = PRS_ASYNC_USART0_TXC
SL_HAL_PRS_ASYNC_USART1_CS = PRS_ASYNC_USART1_CS
SL_HAL_PRS_ASYNC_USART1_IRTX = PRS_ASYNC_USART1_IRTX
SL_HAL_PRS_ASYNC_USART1_RTS = PRS_ASYNC_USART1_RTS
SL_HAL_PRS_ASYNC_USART1_RXDATA = PRS_ASYNC_USART1_RXDATA
SL_HAL_PRS_ASYNC_USART1_TX = PRS_ASYNC_USART1_TX
SL_HAL_PRS_ASYNC_USART1_TXC = PRS_ASYNC_USART1_TXC
SL_HAL_PRS_ASYNC_TIMER0_UF = PRS_ASYNC_TIMER0_UF
SL_HAL_PRS_ASYNC_TIMER0_OF = PRS_ASYNC_TIMER0_OF
SL_HAL_PRS_ASYNC_TIMER0_CC0 = PRS_ASYNC_TIMER0_CC0
SL_HAL_PRS_ASYNC_TIMER0_CC1 = PRS_ASYNC_TIMER0_CC1
SL_HAL_PRS_ASYNC_TIMER0_CC2 = PRS_ASYNC_TIMER0_CC2
SL_HAL_PRS_ASYNC_TIMER1_UF = PRS_ASYNC_TIMER1_UF
SL_HAL_PRS_ASYNC_TIMER1_OF = PRS_ASYNC_TIMER1_OF
SL_HAL_PRS_ASYNC_TIMER1_CC0 = PRS_ASYNC_TIMER1_CC0
SL_HAL_PRS_ASYNC_TIMER1_CC1 = PRS_ASYNC_TIMER1_CC1
SL_HAL_PRS_ASYNC_TIMER1_CC2 = PRS_ASYNC_TIMER1_CC2
SL_HAL_PRS_ASYNC_IADC0_SCANENTRYDONE = PRS_ASYNC_IADC0_SCANENTRYDONE
SL_HAL_PRS_ASYNC_IADC0_SCANTABLEDONE = PRS_ASYNC_IADC0_SCANTABLEDONE
SL_HAL_PRS_ASYNC_IADC0_SINGLEDONE = PRS_ASYNC_IADC0_SINGLEDONE
SL_HAL_PRS_ASYNC_LETIMER0_CH0 = PRS_ASYNC_LETIMER0_CH0
SL_HAL_PRS_ASYNC_LETIMER0_CH1 = PRS_ASYNC_LETIMER0_CH1
SL_HAL_PRS_ASYNC_BURTC_COMP = PRS_ASYNC_BURTC_COMP
SL_HAL_PRS_ASYNC_BURTC_OVERFLOW = PRS_ASYNC_BURTC_OVERFLOW
SL_HAL_PRS_ASYNC_GPIO_PIN0 = PRS_ASYNC_GPIO_PIN0
SL_HAL_PRS_ASYNC_GPIO_PIN1 = PRS_ASYNC_GPIO_PIN1
SL_HAL_PRS_ASYNC_GPIO_PIN2 = PRS_ASYNC_GPIO_PIN2
SL_HAL_PRS_ASYNC_GPIO_PIN3 = PRS_ASYNC_GPIO_PIN3
SL_HAL_PRS_ASYNC_GPIO_PIN4 = PRS_ASYNC_GPIO_PIN4
SL_HAL_PRS_ASYNC_GPIO_PIN5 = PRS_ASYNC_GPIO_PIN5
SL_HAL_PRS_ASYNC_GPIO_PIN6 = PRS_ASYNC_GPIO_PIN6
SL_HAL_PRS_ASYNC_GPIO_PIN7 = PRS_ASYNC_GPIO_PIN7
SL_HAL_PRS_ASYNC_TIMER2_UF = PRS_ASYNC_TIMER2_UF
SL_HAL_PRS_ASYNC_TIMER2_OF = PRS_ASYNC_TIMER2_OF
SL_HAL_PRS_ASYNC_TIMER2_CC0 = PRS_ASYNC_TIMER2_CC0
SL_HAL_PRS_ASYNC_TIMER2_CC1 = PRS_ASYNC_TIMER2_CC1
SL_HAL_PRS_ASYNC_TIMER2_CC2 = PRS_ASYNC_TIMER2_CC2
SL_HAL_PRS_ASYNC_TIMER3_UF = PRS_ASYNC_TIMER3_UF
SL_HAL_PRS_ASYNC_TIMER3_OF = PRS_ASYNC_TIMER3_OF
SL_HAL_PRS_ASYNC_TIMER3_CC0 = PRS_ASYNC_TIMER3_CC0
SL_HAL_PRS_ASYNC_TIMER3_CC1 = PRS_ASYNC_TIMER3_CC1
SL_HAL_PRS_ASYNC_TIMER3_CC2 = PRS_ASYNC_TIMER3_CC2
SL_HAL_PRS_ASYNC_CORE_CTIOUT0 = PRS_ASYNC_CORE_CTIOUT0
SL_HAL_PRS_ASYNC_CORE_CTIOUT1 = PRS_ASYNC_CORE_CTIOUT1
SL_HAL_PRS_ASYNC_CORE_CTIOUT2 = PRS_ASYNC_CORE_CTIOUT2
SL_HAL_PRS_ASYNC_CORE_CTIOUT3 = PRS_ASYNC_CORE_CTIOUT3
SL_HAL_PRS_ASYNC_CMUL_CLKOUT0 = PRS_ASYNC_CMUL_CLKOUT0
SL_HAL_PRS_ASYNC_CMUL_CLKOUT1 = PRS_ASYNC_CMUL_CLKOUT1
SL_HAL_PRS_ASYNC_CMUL_CLKOUT2 = PRS_ASYNC_CMUL_CLKOUT2
SL_HAL_PRS_ASYNC_PRSL_ASYNCH0 = PRS_ASYNC_PRSL_ASYNCH0
SL_HAL_PRS_ASYNC_PRSL_ASYNCH1 = PRS_ASYNC_PRSL_ASYNCH1
SL_HAL_PRS_ASYNC_PRSL_ASYNCH2 = PRS_ASYNC_PRSL_ASYNCH2
SL_HAL_PRS_ASYNC_PRSL_ASYNCH3 = PRS_ASYNC_PRSL_ASYNCH3
SL_HAL_PRS_ASYNC_PRSL_ASYNCH4 = PRS_ASYNC_PRSL_ASYNCH4
SL_HAL_PRS_ASYNC_PRSL_ASYNCH5 = PRS_ASYNC_PRSL_ASYNCH5
SL_HAL_PRS_ASYNC_PRSL_ASYNCH6 = PRS_ASYNC_PRSL_ASYNCH6
SL_HAL_PRS_ASYNC_PRSL_ASYNCH7 = PRS_ASYNC_PRSL_ASYNCH7
SL_HAL_PRS_ASYNC_PRS_ASYNCH8 = PRS_ASYNC_PRS_ASYNCH8
SL_HAL_PRS_ASYNC_PRS_ASYNCH9 = PRS_ASYNC_PRS_ASYNCH9
SL_HAL_PRS_ASYNC_PRS_ASYNCH10 = PRS_ASYNC_PRS_ASYNCH10
SL_HAL_PRS_ASYNC_PRS_ASYNCH11 = PRS_ASYNC_PRS_ASYNCH11
SL_HAL_PRS_ASYNC_TIMER4_UF = PRS_ASYNC_TIMER4_UF
SL_HAL_PRS_ASYNC_TIMER4_OF = PRS_ASYNC_TIMER4_OF
SL_HAL_PRS_ASYNC_TIMER4_CC0 = PRS_ASYNC_TIMER4_CC0
SL_HAL_PRS_ASYNC_TIMER4_CC1 = PRS_ASYNC_TIMER4_CC1
SL_HAL_PRS_ASYNC_TIMER4_CC2 = PRS_ASYNC_TIMER4_CC2
SL_HAL_PRS_ASYNC_ACMP0_OUT = PRS_ASYNC_ACMP0_OUT
SL_HAL_PRS_ASYNC_EUSART0L_CS = PRS_ASYNC_EUSART0L_CS
SL_HAL_PRS_ASYNC_EUSART0L_IRDATX = PRS_ASYNC_EUSART0L_IRDATX
SL_HAL_PRS_ASYNC_EUSART0L_RTS = PRS_ASYNC_EUSART0L_RTS
SL_HAL_PRS_ASYNC_EUSART0L_RXDATAV = PRS_ASYNC_EUSART0L_RXDATAV
SL_HAL_PRS_ASYNC_EUSART0L_TX = PRS_ASYNC_EUSART0L_TX
SL_HAL_PRS_ASYNC_EUSART0L_TXC = PRS_ASYNC_EUSART0L_TXC
SL_HAL_PRS_ASYNC_EUSART0L_RXFL = PRS_ASYNC_EUSART0L_RXFL
SL_HAL_PRS_ASYNC_EUSART0L_TXFL = PRS_ASYNC_EUSART0L_TXFL
SL_HAL_PRS_ASYNC_LFRCO_CALMEAS = PRS_ASYNC_LFRCO_CALMEAS
SL_HAL_PRS_ASYNC_LFRCO_SDM = PRS_ASYNC_LFRCO_SDM
SL_HAL_PRS_ASYNC_LFRCO_TCMEAS = PRS_ASYNC_LFRCO_TCMEAS
SL_HAL_PRS_ASYNC_ACMP1_OUT = PRS_ASYNC_ACMP1_OUT
SL_HAL_PRS_ASYNC_VDAC0L_CH0WARM = PRS_ASYNC_VDAC0L_CH0WARM
SL_HAL_PRS_ASYNC_VDAC0L_CH1WARM = PRS_ASYNC_VDAC0L_CH1WARM
SL_HAL_PRS_ASYNC_VDAC0L_CH0DONEASYNC = PRS_ASYNC_VDAC0L_CH0DONEASYNC
SL_HAL_PRS_ASYNC_VDAC0L_CH1DONEASYNC = PRS_ASYNC_VDAC0L_CH1DONEASYNC
SL_HAL_PRS_ASYNC_VDAC0L_INTERNALTIMEROF = PRS_ASYNC_VDAC0L_INTERNALTIMEROF
SL_HAL_PRS_ASYNC_VDAC0L_REFRESHTIMEROF = PRS_ASYNC_VDAC0L_REFRESHTIMEROF
SL_HAL_PRS_ASYNC_PCNT0_DIR = PRS_ASYNC_PCNT0_DIR
SL_HAL_PRS_ASYNC_PCNT0_UFOF = PRS_ASYNC_PCNT0_UFOF
SL_HAL_PRS_ASYNC_SYSRTC0_GRP0OUT0 = PRS_ASYNC_SYSRTC0_GRP0OUT0
SL_HAL_PRS_ASYNC_SYSRTC0_GRP0OUT1 = PRS_ASYNC_SYSRTC0_GRP0OUT1
SL_HAL_PRS_ASYNC_SYSRTC0_GRP1OUT0 = PRS_ASYNC_SYSRTC0_GRP1OUT0
SL_HAL_PRS_ASYNC_SYSRTC0_GRP1OUT1 = PRS_ASYNC_SYSRTC0_GRP1OUT1
SL_HAL_PRS_ASYNC_HFXO0L_STATUS = PRS_ASYNC_HFXO0L_STATUS
SL_HAL_PRS_ASYNC_HFXO0L_STATUS1 = PRS_ASYNC_HFXO0L_STATUS1
SL_HAL_PRS_ASYNC_EUSART1L_CS = PRS_ASYNC_EUSART1L_CS
SL_HAL_PRS_ASYNC_EUSART1L_IRDATX = PRS_ASYNC_EUSART1L_IRDATX
SL_HAL_PRS_ASYNC_EUSART1L_RTS = PRS_ASYNC_EUSART1L_RTS
SL_HAL_PRS_ASYNC_EUSART1L_RXDATAV = PRS_ASYNC_EUSART1L_RXDATAV
SL_HAL_PRS_ASYNC_EUSART1L_TX = PRS_ASYNC_EUSART1L_TX
SL_HAL_PRS_ASYNC_EUSART1L_TXC = PRS_ASYNC_EUSART1L_TXC
SL_HAL_PRS_ASYNC_EUSART1L_RXFL = PRS_ASYNC_EUSART1L_RXFL
SL_HAL_PRS_ASYNC_EUSART1L_TXFL = PRS_ASYNC_EUSART1L_TXFL
SL_HAL_PRS_ASYNC_VDAC1L_CH1WARM = PRS_ASYNC_VDAC1L_CH1WARM
SL_HAL_PRS_ASYNC_VDAC1L_CH0WARM = PRS_ASYNC_VDAC1L_CH0WARM
SL_HAL_PRS_ASYNC_VDAC1L_CH0DONEASYNC = PRS_ASYNC_VDAC1L_CH0DONEASYNC
SL_HAL_PRS_ASYNC_VDAC1L_REFRESHTIMEROF = PRS_ASYNC_VDAC1L_REFRESHTIMEROF
SL_HAL_PRS_ASYNC_VDAC1L_INTERNALTIMEROF = PRS_ASYNC_VDAC1L_INTERNALTIMEROF
SL_HAL_PRS_ASYNC_VDAC1L_CH1DONEASYNC = PRS_ASYNC_VDAC1L_CH1DONEASYNC
SL_HAL_PRS_ASYNC_TIMER5_UF = PRS_ASYNC_TIMER5_UF
SL_HAL_PRS_ASYNC_TIMER5_OF = PRS_ASYNC_TIMER5_OF
SL_HAL_PRS_ASYNC_TIMER5_CC0 = PRS_ASYNC_TIMER5_CC0
SL_HAL_PRS_ASYNC_TIMER5_CC1 = PRS_ASYNC_TIMER5_CC1
SL_HAL_PRS_ASYNC_TIMER5_CC2 = PRS_ASYNC_TIMER5_CC2
SL_HAL_PRS_ASYNC_TIMER6_UF = PRS_ASYNC_TIMER6_UF
SL_HAL_PRS_ASYNC_TIMER6_OF = PRS_ASYNC_TIMER6_OF
SL_HAL_PRS_ASYNC_TIMER6_CC0 = PRS_ASYNC_TIMER6_CC0
SL_HAL_PRS_ASYNC_TIMER6_CC1 = PRS_ASYNC_TIMER6_CC1
SL_HAL_PRS_ASYNC_TIMER6_CC2 = PRS_ASYNC_TIMER6_CC2
SL_HAL_PRS_ASYNC_TIMER7_UF = PRS_ASYNC_TIMER7_UF
SL_HAL_PRS_ASYNC_TIMER7_OF = PRS_ASYNC_TIMER7_OF
SL_HAL_PRS_ASYNC_TIMER7_CC0 = PRS_ASYNC_TIMER7_CC0
SL_HAL_PRS_ASYNC_TIMER7_CC1 = PRS_ASYNC_TIMER7_CC1
SL_HAL_PRS_ASYNC_TIMER7_CC2 = PRS_ASYNC_TIMER7_CC2
SL_HAL_PRS_ASYNC_TIMER8_UF = PRS_ASYNC_TIMER8_UF
SL_HAL_PRS_ASYNC_TIMER8_OF = PRS_ASYNC_TIMER8_OF
SL_HAL_PRS_ASYNC_TIMER8_CC0 = PRS_ASYNC_TIMER8_CC0
SL_HAL_PRS_ASYNC_TIMER8_CC1 = PRS_ASYNC_TIMER8_CC1
SL_HAL_PRS_ASYNC_TIMER8_CC2 = PRS_ASYNC_TIMER8_CC2
SL_HAL_PRS_ASYNC_TIMER9_UF = PRS_ASYNC_TIMER9_UF
SL_HAL_PRS_ASYNC_TIMER9_OF = PRS_ASYNC_TIMER9_OF
SL_HAL_PRS_ASYNC_TIMER9_CC0 = PRS_ASYNC_TIMER9_CC0
SL_HAL_PRS_ASYNC_TIMER9_CC1 = PRS_ASYNC_TIMER9_CC1
SL_HAL_PRS_ASYNC_TIMER9_CC2 = PRS_ASYNC_TIMER9_CC2
SL_HAL_PRS_ASYNC_USART2_CS = PRS_ASYNC_USART2_CS
SL_HAL_PRS_ASYNC_USART2_IRTX = PRS_ASYNC_USART2_IRTX
SL_HAL_PRS_ASYNC_USART2_RTS = PRS_ASYNC_USART2_RTS
SL_HAL_PRS_ASYNC_USART2_RXDATA = PRS_ASYNC_USART2_RXDATA
SL_HAL_PRS_ASYNC_USART2_TX = PRS_ASYNC_USART2_TX
SL_HAL_PRS_ASYNC_USART2_TXC = PRS_ASYNC_USART2_TXC
SL_HAL_PRS_ASYNC_EUSART2_CS = PRS_ASYNC_EUSART2_CS
SL_HAL_PRS_ASYNC_EUSART2_IRDATX = PRS_ASYNC_EUSART2_IRDATX
SL_HAL_PRS_ASYNC_EUSART2_RTS = PRS_ASYNC_EUSART2_RTS
SL_HAL_PRS_ASYNC_EUSART2_RXDATAV = PRS_ASYNC_EUSART2_RXDATAV
SL_HAL_PRS_ASYNC_EUSART2_RXFL = PRS_ASYNC_EUSART2_RXFL
SL_HAL_PRS_ASYNC_EUSART2_TX = PRS_ASYNC_EUSART2_TX
SL_HAL_PRS_ASYNC_EUSART2_TXC = PRS_ASYNC_EUSART2_TXC
SL_HAL_PRS_ASYNC_EUSART2_TXFL = PRS_ASYNC_EUSART2_TXFL
SL_HAL_PRS_ASYNC_EUSART3_CS = PRS_ASYNC_EUSART3_CS
SL_HAL_PRS_ASYNC_EUSART3_IRDATX = PRS_ASYNC_EUSART3_IRDATX
SL_HAL_PRS_ASYNC_EUSART3_RTS = PRS_ASYNC_EUSART3_RTS
SL_HAL_PRS_ASYNC_EUSART3_RXDATAV = PRS_ASYNC_EUSART3_RXDATAV
SL_HAL_PRS_ASYNC_EUSART3_RXFL = PRS_ASYNC_EUSART3_RXFL
SL_HAL_PRS_ASYNC_EUSART3_TX = PRS_ASYNC_EUSART3_TX
SL_HAL_PRS_ASYNC_EUSART3_TXC = PRS_ASYNC_EUSART3_TXC
SL_HAL_PRS_ASYNC_EUSART3_TXFL = PRS_ASYNC_EUSART3_TXFL
SL_HAL_PRS_ASYNC_BUFC_THR0 = PRS_ASYNC_BUFC_THR0
SL_HAL_PRS_ASYNC_BUFC_THR1 = PRS_ASYNC_BUFC_THR1
SL_HAL_PRS_ASYNC_BUFC_THR2 = PRS_ASYNC_BUFC_THR2
SL_HAL_PRS_ASYNC_BUFC_THR3 = PRS_ASYNC_BUFC_THR3
SL_HAL_PRS_ASYNC_BUFC_CNT0 = PRS_ASYNC_BUFC_CNT0
SL_HAL_PRS_ASYNC_BUFC_CNT1 = PRS_ASYNC_BUFC_CNT1
SL_HAL_PRS_ASYNC_BUFC_FULL = PRS_ASYNC_BUFC_FULL
}

Async PRS Signals.

enum
SL_HAL_PRS_SYNC_NONE = 0x0
SL_HAL_PRS_SYNC_TIMER0_UF = PRS_SYNC_TIMER0_UF
SL_HAL_PRS_SYNC_TIMER0_OF = PRS_SYNC_TIMER0_OF
SL_HAL_PRS_SYNC_TIMER0_CC0 = PRS_SYNC_TIMER0_CC0
SL_HAL_PRS_SYNC_TIMER0_CC1 = PRS_SYNC_TIMER0_CC1
SL_HAL_PRS_SYNC_TIMER0_CC2 = PRS_SYNC_TIMER0_CC2
SL_HAL_PRS_SYNC_TIMER1_UF = PRS_SYNC_TIMER1_UF
SL_HAL_PRS_SYNC_TIMER1_OF = PRS_SYNC_TIMER1_OF
SL_HAL_PRS_SYNC_TIMER1_CC0 = PRS_SYNC_TIMER1_CC0
SL_HAL_PRS_SYNC_TIMER1_CC1 = PRS_SYNC_TIMER1_CC1
SL_HAL_PRS_SYNC_TIMER1_CC2 = PRS_SYNC_TIMER1_CC2
SL_HAL_PRS_SYNC_IADC0_SCANENTRYDONE = PRS_SYNC_IADC0_SCAN_ENTRY_DONE
SL_HAL_PRS_SYNC_IADC0_SCANTABLEDONE = PRS_SYNC_IADC0_SCAN_TABLE_DONE
SL_HAL_PRS_SYNC_IADC0_SINGLEDONE = PRS_SYNC_IADC0_SINGLE_DONE
SL_HAL_PRS_SYNC_TIMER2_UF = PRS_SYNC_TIMER2_UF
SL_HAL_PRS_SYNC_TIMER2_OF = PRS_SYNC_TIMER2_OF
SL_HAL_PRS_SYNC_TIMER2_CC0 = PRS_SYNC_TIMER2_CC0
SL_HAL_PRS_SYNC_TIMER2_CC1 = PRS_SYNC_TIMER2_CC1
SL_HAL_PRS_SYNC_TIMER2_CC2 = PRS_SYNC_TIMER2_CC2
SL_HAL_PRS_SYNC_TIMER3_UF = PRS_SYNC_TIMER3_UF
SL_HAL_PRS_SYNC_TIMER3_OF = PRS_SYNC_TIMER3_OF
SL_HAL_PRS_SYNC_TIMER3_CC0 = PRS_SYNC_TIMER3_CC0
SL_HAL_PRS_SYNC_TIMER3_CC1 = PRS_SYNC_TIMER3_CC1
SL_HAL_PRS_SYNC_TIMER3_CC2 = PRS_SYNC_TIMER3_CC2
SL_HAL_PRS_SYNC_TIMER4_UF = PRS_SYNC_TIMER4_UF
SL_HAL_PRS_SYNC_TIMER4_OF = PRS_SYNC_TIMER4_OF
SL_HAL_PRS_SYNC_TIMER4_CC0 = PRS_SYNC_TIMER4_CC0
SL_HAL_PRS_SYNC_TIMER4_CC1 = PRS_SYNC_TIMER4_CC1
SL_HAL_PRS_SYNC_TIMER4_CC2 = PRS_SYNC_TIMER4_CC2
SL_HAL_PRS_SYNC_VDAC0_CH0DONESYNC = PRS_SYNC_VDAC0_CH0_DONE_SYNC
SL_HAL_PRS_SYNC_VDAC0_CH1DONESYNC = PRS_SYNC_VDAC0_CH1_DONE_SYNC
SL_HAL_PRS_SYNC_VDAC1_CH0DONESYNC = PRS_SYNC_VDAC1_CH0_DONE_SYNC
SL_HAL_PRS_SYNC_VDAC1_CH1DONESYNC = PRS_SYNC_VDAC1_CH1_DONE_SYNC
SL_HAL_PRS_SYNC_TIMER5_UF = PRS_SYNC_TIMER5_UF
SL_HAL_PRS_SYNC_TIMER5_OF = PRS_SYNC_TIMER5_OF
SL_HAL_PRS_SYNC_TIMER5_CC0 = PRS_SYNC_TIMER5_CC0
SL_HAL_PRS_SYNC_TIMER5_CC1 = PRS_SYNC_TIMER5_CC1
SL_HAL_PRS_SYNC_TIMER5_CC2 = PRS_SYNC_TIMER5_CC2
SL_HAL_PRS_SYNC_TIMER6_UF = PRS_SYNC_TIMER6_UF
SL_HAL_PRS_SYNC_TIMER6_OF = PRS_SYNC_TIMER6_OF
SL_HAL_PRS_SYNC_TIMER6_CC0 = PRS_SYNC_TIMER6_CC0
SL_HAL_PRS_SYNC_TIMER6_CC1 = PRS_SYNC_TIMER6_CC1
SL_HAL_PRS_SYNC_TIMER6_CC2 = PRS_SYNC_TIMER6_CC2
SL_HAL_PRS_SYNC_TIMER7_UF = PRS_SYNC_TIMER7_UF
SL_HAL_PRS_SYNC_TIMER7_OF = PRS_SYNC_TIMER7_OF
SL_HAL_PRS_SYNC_TIMER7_CC0 = PRS_SYNC_TIMER7_CC0
SL_HAL_PRS_SYNC_TIMER7_CC1 = PRS_SYNC_TIMER7_CC1
SL_HAL_PRS_SYNC_TIMER7_CC2 = PRS_SYNC_TIMER7_CC2
SL_HAL_PRS_SYNC_TIMER8_UF = PRS_SYNC_TIMER8_UF
SL_HAL_PRS_SYNC_TIMER8_OF = PRS_SYNC_TIMER8_OF
SL_HAL_PRS_SYNC_TIMER8_CC0 = PRS_SYNC_TIMER8_CC0
SL_HAL_PRS_SYNC_TIMER8_CC1 = PRS_SYNC_TIMER8_CC1
SL_HAL_PRS_SYNC_TIMER8_CC2 = PRS_SYNC_TIMER8_CC2
SL_HAL_PRS_SYNC_TIMER9_UF = PRS_SYNC_TIMER9_UF
SL_HAL_PRS_SYNC_TIMER9_OF = PRS_SYNC_TIMER9_OF
SL_HAL_PRS_SYNC_TIMER9_CC0 = PRS_SYNC_TIMER9_CC0
SL_HAL_PRS_SYNC_TIMER9_CC1 = PRS_SYNC_TIMER9_CC1
SL_HAL_PRS_SYNC_TIMER9_CC2 = PRS_SYNC_TIMER9_CC2
}

Sync PRS Signals.

enum
SL_HAL_PRS_CONSUMER_NONE = 0x0
SL_HAL_PRS_CONSUMER_CMU_CALDN = offsetof(PRS_TypeDef, CONSUMER_CMU_CALDN)
SL_HAL_PRS_CONSUMER_CMU_CALUP = offsetof(PRS_TypeDef, CONSUMER_CMU_CALUP)
SL_HAL_PRS_CONSUMER_EUSART0_CLK = offsetof(PRS_TypeDef, CONSUMER_EUSART0_CLK)
SL_HAL_PRS_CONSUMER_EUSART0_RX = offsetof(PRS_TypeDef, CONSUMER_EUSART0_RX)
SL_HAL_PRS_CONSUMER_EUSART0_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_EUSART0_TRIGGER)
SL_HAL_PRS_CONSUMER_IADC0_SCANTRIGGER = offsetof(PRS_TypeDef, CONSUMER_IADC0_SCANTRIGGER)
SL_HAL_PRS_CONSUMER_IADC0_SINGLETRIGGER = offsetof(PRS_TypeDef, CONSUMER_IADC0_SINGLETRIGGER)
SL_HAL_PRS_CONSUMER_LDMAXBAR_DMAREQ0 = offsetof(PRS_TypeDef, CONSUMER_LDMAXBAR_DMAREQ0)
SL_HAL_PRS_CONSUMER_LDMAXBAR_DMAREQ1 = offsetof(PRS_TypeDef, CONSUMER_LDMAXBAR_DMAREQ1)
SL_HAL_PRS_CONSUMER_LETIMER0_CLEAR = offsetof(PRS_TypeDef, CONSUMER_LETIMER0_CLEAR)
SL_HAL_PRS_CONSUMER_LETIMER0_START = offsetof(PRS_TypeDef, CONSUMER_LETIMER0_START)
SL_HAL_PRS_CONSUMER_LETIMER0_STOP = offsetof(PRS_TypeDef, CONSUMER_LETIMER0_STOP)
SL_HAL_PRS_CONSUMER_MODEM_DIN = offsetof(PRS_TypeDef, CONSUMER_MODEM_DIN)
SL_HAL_PRS_CONSUMER_RAC_CLR = offsetof(PRS_TypeDef, CONSUMER_RAC_CLR)
SL_HAL_PRS_CONSUMER_RAC_CTIIN0 = offsetof(PRS_TypeDef, CONSUMER_RAC_CTIIN0)
SL_HAL_PRS_CONSUMER_RAC_CTIIN1 = offsetof(PRS_TypeDef, CONSUMER_RAC_CTIIN1)
SL_HAL_PRS_CONSUMER_RAC_CTIIN2 = offsetof(PRS_TypeDef, CONSUMER_RAC_CTIIN2)
SL_HAL_PRS_CONSUMER_RAC_CTIIN3 = offsetof(PRS_TypeDef, CONSUMER_RAC_CTIIN3)
SL_HAL_PRS_CONSUMER_RAC_FORCETX = offsetof(PRS_TypeDef, CONSUMER_RAC_FORCETX)
SL_HAL_PRS_CONSUMER_RAC_RXDIS = offsetof(PRS_TypeDef, CONSUMER_RAC_RXDIS)
SL_HAL_PRS_CONSUMER_RAC_RXEN = offsetof(PRS_TypeDef, CONSUMER_RAC_RXEN)
SL_HAL_PRS_CONSUMER_RAC_TXEN = offsetof(PRS_TypeDef, CONSUMER_RAC_TXEN)
SL_HAL_PRS_CONSUMER_CORE_CTIIN0 = offsetof(PRS_TypeDef, CONSUMER_CORE_CTIIN0)
SL_HAL_PRS_CONSUMER_CORE_CTIIN1 = offsetof(PRS_TypeDef, CONSUMER_CORE_CTIIN1)
SL_HAL_PRS_CONSUMER_CORE_CTIIN2 = offsetof(PRS_TypeDef, CONSUMER_CORE_CTIIN2)
SL_HAL_PRS_CONSUMER_CORE_CTIIN3 = offsetof(PRS_TypeDef, CONSUMER_CORE_CTIIN3)
SL_HAL_PRS_CONSUMER_CORE_M33RXEV = offsetof(PRS_TypeDef, CONSUMER_CORE_M33RXEV)
SL_HAL_PRS_CONSUMER_TIMER0_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER0_CC0)
SL_HAL_PRS_CONSUMER_TIMER0_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER0_CC1)
SL_HAL_PRS_CONSUMER_TIMER0_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER0_CC2)
SL_HAL_PRS_CONSUMER_TIMER0_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER0_DTI)
SL_HAL_PRS_CONSUMER_TIMER0_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER0_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER0_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER0_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER1_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER1_CC0)
SL_HAL_PRS_CONSUMER_TIMER1_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER1_CC1)
SL_HAL_PRS_CONSUMER_TIMER1_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER1_CC2)
SL_HAL_PRS_CONSUMER_TIMER1_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER1_DTI)
SL_HAL_PRS_CONSUMER_TIMER1_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER1_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER1_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER1_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER2_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER2_CC0)
SL_HAL_PRS_CONSUMER_TIMER2_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER2_CC1)
SL_HAL_PRS_CONSUMER_TIMER2_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER2_CC2)
SL_HAL_PRS_CONSUMER_TIMER2_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER2_DTI)
SL_HAL_PRS_CONSUMER_TIMER2_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER2_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER2_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER2_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER3_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER3_CC0)
SL_HAL_PRS_CONSUMER_TIMER3_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER3_CC1)
SL_HAL_PRS_CONSUMER_TIMER3_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER3_CC2)
SL_HAL_PRS_CONSUMER_TIMER3_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER3_DTI)
SL_HAL_PRS_CONSUMER_TIMER3_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER3_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER3_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER3_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER4_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER4_CC0)
SL_HAL_PRS_CONSUMER_TIMER4_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER4_CC1)
SL_HAL_PRS_CONSUMER_TIMER4_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER4_CC2)
SL_HAL_PRS_CONSUMER_TIMER4_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER4_DTI)
SL_HAL_PRS_CONSUMER_TIMER4_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER4_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER4_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER4_DTIFS2)
SL_HAL_PRS_CONSUMER_USART0_CLK = offsetof(PRS_TypeDef, CONSUMER_USART0_CLK)
SL_HAL_PRS_CONSUMER_USART0_IR = offsetof(PRS_TypeDef, CONSUMER_USART0_IR)
SL_HAL_PRS_CONSUMER_USART0_RX = offsetof(PRS_TypeDef, CONSUMER_USART0_RX)
SL_HAL_PRS_CONSUMER_USART0_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_USART0_TRIGGER)
SL_HAL_PRS_CONSUMER_USART1_CLK = offsetof(PRS_TypeDef, CONSUMER_USART1_CLK)
SL_HAL_PRS_CONSUMER_USART1_IR = offsetof(PRS_TypeDef, CONSUMER_USART1_IR)
SL_HAL_PRS_CONSUMER_USART1_RX = offsetof(PRS_TypeDef, CONSUMER_USART1_RX)
SL_HAL_PRS_CONSUMER_USART1_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_USART1_TRIGGER)
SL_HAL_PRS_CONSUMER_WDOG0_SRC0 = offsetof(PRS_TypeDef, CONSUMER_WDOG0_SRC0)
SL_HAL_PRS_CONSUMER_WDOG0_SRC1 = offsetof(PRS_TypeDef, CONSUMER_WDOG0_SRC1)
SL_HAL_PRS_CONSUMER_EUSART1_CLK = offsetof(PRS_TypeDef, CONSUMER_EUSART1_CLK)
SL_HAL_PRS_CONSUMER_EUSART1_RX = offsetof(PRS_TypeDef, CONSUMER_EUSART1_RX)
SL_HAL_PRS_CONSUMER_EUSART1_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_EUSART1_TRIGGER)
SL_HAL_PRS_CONSUMER_EUSART2_CLK = offsetof(PRS_TypeDef, CONSUMER_EUSART2_CLK)
SL_HAL_PRS_CONSUMER_EUSART2_RX = offsetof(PRS_TypeDef, CONSUMER_EUSART2_RX)
SL_HAL_PRS_CONSUMER_EUSART2_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_EUSART2_TRIGGER)
SL_HAL_PRS_CONSUMER_PCNT0_S0IN = offsetof(PRS_TypeDef, CONSUMER_PCNT0_S0IN)
SL_HAL_PRS_CONSUMER_PCNT0_S1IN = offsetof(PRS_TypeDef, CONSUMER_PCNT0_S1IN)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC25 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC25)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC26 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC26)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC27 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC27)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC28 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC28)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC29 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC29)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC30 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC30)
SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC31 = offsetof(PRS_TypeDef, CONSUMER_SETAMPER_TAMPERSRC31)
SL_HAL_PRS_CONSUMER_SYSRTC0_IN0 = offsetof(PRS_TypeDef, CONSUMER_SYSRTC0_IN0)
SL_HAL_PRS_CONSUMER_SYSRTC0_IN1 = offsetof(PRS_TypeDef, CONSUMER_SYSRTC0_IN1)
SL_HAL_PRS_CONSUMER_HFXO0_OSCREQ = offsetof(PRS_TypeDef, CONSUMER_HFXO0_OSCREQ)
SL_HAL_PRS_CONSUMER_HFXO0_TIMEOUT = offsetof(PRS_TypeDef, CONSUMER_HFXO0_TIMEOUT)
SL_HAL_PRS_CONSUMER_VDAC0_ASYNCTRIGCH0 = offsetof(PRS_TypeDef, CONSUMER_VDAC0_ASYNCTRIGCH0)
SL_HAL_PRS_CONSUMER_VDAC0_ASYNCTRIGCH1 = offsetof(PRS_TypeDef, CONSUMER_VDAC0_ASYNCTRIGCH1)
SL_HAL_PRS_CONSUMER_VDAC0_SYNCTRIGCH0 = offsetof(PRS_TypeDef, CONSUMER_VDAC0_SYNCTRIGCH0)
SL_HAL_PRS_CONSUMER_VDAC0_SYNCTRIGCH1 = offsetof(PRS_TypeDef, CONSUMER_VDAC0_SYNCTRIGCH1)
SL_HAL_PRS_CONSUMER_WDOG1_SRC0 = offsetof(PRS_TypeDef, CONSUMER_WDOG1_SRC0)
SL_HAL_PRS_CONSUMER_WDOG1_SRC1 = offsetof(PRS_TypeDef, CONSUMER_WDOG1_SRC1)
SL_HAL_PRS_CONSUMER_EUSART3_CLK = offsetof(PRS_TypeDef, CONSUMER_EUSART3_CLK)
SL_HAL_PRS_CONSUMER_EUSART3_RX = offsetof(PRS_TypeDef, CONSUMER_EUSART3_RX)
SL_HAL_PRS_CONSUMER_EUSART3_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_EUSART3_TRIGGER)
SL_HAL_PRS_CONSUMER_MODEM_PAEN = offsetof(PRS_TypeDef, CONSUMER_MODEM_PAEN)
SL_HAL_PRS_CONSUMER_TIMER5_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER5_CC0)
SL_HAL_PRS_CONSUMER_TIMER5_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER5_CC1)
SL_HAL_PRS_CONSUMER_TIMER5_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER5_CC2)
SL_HAL_PRS_CONSUMER_TIMER5_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER5_DTI)
SL_HAL_PRS_CONSUMER_TIMER5_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER5_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER5_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER5_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER6_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER6_CC0)
SL_HAL_PRS_CONSUMER_TIMER6_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER6_CC1)
SL_HAL_PRS_CONSUMER_TIMER6_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER6_CC2)
SL_HAL_PRS_CONSUMER_TIMER6_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER6_DTI)
SL_HAL_PRS_CONSUMER_TIMER6_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER6_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER6_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER6_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER7_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER7_CC0)
SL_HAL_PRS_CONSUMER_TIMER7_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER7_CC1)
SL_HAL_PRS_CONSUMER_TIMER7_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER7_CC2)
SL_HAL_PRS_CONSUMER_TIMER7_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER7_DTI)
SL_HAL_PRS_CONSUMER_TIMER7_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER7_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER7_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER7_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER8_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER8_CC0)
SL_HAL_PRS_CONSUMER_TIMER8_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER8_CC1)
SL_HAL_PRS_CONSUMER_TIMER8_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER8_CC2)
SL_HAL_PRS_CONSUMER_TIMER8_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER8_DTI)
SL_HAL_PRS_CONSUMER_TIMER8_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER8_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER8_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER8_DTIFS2)
SL_HAL_PRS_CONSUMER_TIMER9_CC0 = offsetof(PRS_TypeDef, CONSUMER_TIMER9_CC0)
SL_HAL_PRS_CONSUMER_TIMER9_CC1 = offsetof(PRS_TypeDef, CONSUMER_TIMER9_CC1)
SL_HAL_PRS_CONSUMER_TIMER9_CC2 = offsetof(PRS_TypeDef, CONSUMER_TIMER9_CC2)
SL_HAL_PRS_CONSUMER_TIMER9_DTI = offsetof(PRS_TypeDef, CONSUMER_TIMER9_DTI)
SL_HAL_PRS_CONSUMER_TIMER9_DTIFS1 = offsetof(PRS_TypeDef, CONSUMER_TIMER9_DTIFS1)
SL_HAL_PRS_CONSUMER_TIMER9_DTIFS2 = offsetof(PRS_TypeDef, CONSUMER_TIMER9_DTIFS2)
SL_HAL_PRS_CONSUMER_USART2_CLK = offsetof(PRS_TypeDef, CONSUMER_USART2_CLK)
SL_HAL_PRS_CONSUMER_USART2_IR = offsetof(PRS_TypeDef, CONSUMER_USART2_IR)
SL_HAL_PRS_CONSUMER_USART2_RX = offsetof(PRS_TypeDef, CONSUMER_USART2_RX)
SL_HAL_PRS_CONSUMER_USART2_TRIGGER = offsetof(PRS_TypeDef, CONSUMER_USART2_TRIGGER)
SL_HAL_PRS_CONSUMER_VDAC1_ASYNCTRIGCH0 = offsetof(PRS_TypeDef, CONSUMER_VDAC1_ASYNCTRIGCH0)
SL_HAL_PRS_CONSUMER_VDAC1_ASYNCTRIGCH1 = offsetof(PRS_TypeDef, CONSUMER_VDAC1_ASYNCTRIGCH1)
SL_HAL_PRS_CONSUMER_VDAC1_SYNCTRIGCH0 = offsetof(PRS_TypeDef, CONSUMER_VDAC1_SYNCTRIGCH0)
SL_HAL_PRS_CONSUMER_VDAC1_SYNCTRIGCH1 = offsetof(PRS_TypeDef, CONSUMER_VDAC1_SYNCTRIGCH1)
}

PRS Consumers.

Functions#

void
sl_hal_prs_async_init_channel(const sl_hal_prs_async_channel_init_t *init)

Configure Async channel.

void
sl_hal_prs_sync_init_channel(const sl_hal_prs_sync_channel_init_t *init)

Configure Sync channel.

sl_status_t
sl_hal_prs_get_free_channel(uint8_t *channel, sl_hal_prs_channel_type_t channel_type)

Search for the first free PRS channel.

void

Reset all PRS channels.

void
sl_hal_prs_connect_channel_consumer(uint8_t channel, sl_hal_prs_channel_type_t channel_type, sl_hal_prs_consumer_event_t consumer_event)

Connect a peripheral consumer to a PRS channel.

void
sl_hal_prs_pin_output(uint8_t channel, sl_hal_prs_channel_type_t channel_type, sl_gpio_port_t port, uint8_t pin)

Send the output of a PRS channel to a GPIO pin.

void
sl_hal_prs_async_set_channel_swlevel(uint8_t channel, bool level)

Set level control bit for one channel.

bool

Get level control bit for a channel.

bool
sl_hal_prs_get_channel_value(uint8_t channel, sl_hal_prs_channel_type_t channel_type)

Get the PRS channel value for one channel.

void

Trigger a high pulse (one HFPERCLK) for one channel.

void
sl_hal_prs_async_connect_channel_producer(uint8_t channel, sl_hal_prs_async_producer_signal_t producer_signal)

Set PRS signal for an async channel.

void
sl_hal_prs_sync_connect_channel_producer(uint8_t channel, sl_hal_prs_sync_producer_signal_t producer_signal)

Set PRS signal for a sync channel.

void
sl_hal_prs_async_combine_signals(uint8_t channel_a, uint8_t channel_b, sl_hal_prs_logic_t logic)

Combine two PRS channels using a logic function.

Macros#

#define
SL_HAL_PRS_SYNC_CHAN_COUNT PRS_SYNC_CH_NUM

PRS Synchronous channel count.

#define
SL_HAL_PRS_ASYNC_CHAN_COUNT PRS_ASYNC_CH_NUM

PRS Asynchronous channel count.

#define
SL_HAL_PRS_ASYNC_INIT_DEFAULT (channel, producer_signal, consumer_event)

PRS async initializer (No channel combination).

#define
SL_HAL_PRS_SYNC_INIT_DEFAULT (channel, producer_signal, consumer_event)

PRS sync initializer.

Enumeration Documentation#

sl_hal_prs_channel_type_t#

sl_hal_prs_channel_type_t

PRS Channel type.

Enumerator
SL_HAL_PRS_TYPE_ASYNC

Asynchronous channel type.

SL_HAL_PRS_TYPE_SYNC

Synchronous channel type.


sl_hal_prs_logic_t#

sl_hal_prs_logic_t

Logic functions that can be used when combining two PRS channels.

Enumerator
SL_HAL_PRS_LOGIC_ZERO

Logical 0.

SL_HAL_PRS_LOGIC_A_NOR_B

A NOR B.

SL_HAL_PRS_LOGIC_NOT_A_AND_B

(!A) NOR B.

SL_HAL_PRS_LOGIC_NOT_A

!A.

SL_HAL_PRS_LOGIC_A_AND_NOT_B

A AND (!B).

SL_HAL_PRS_LOGIC_NOT_B

!B.

SL_HAL_PRS_LOGIC_A_XOR_B

A XOR B.

SL_HAL_PRS_LOGIC_A_NAND_B

A NAND B.

SL_HAL_PRS_LOGIC_A_AND_B

A AND B.

SL_HAL_PRS_LOGIC_A_XNOR_B

A XNOR B.

SL_HAL_PRS_LOGIC_B

B.

SL_HAL_PRS_LOGIC_NOT_A_OR_B

(!A) OR B.

SL_HAL_PRS_LOGIC_A

A.

SL_HAL_PRS_LOGIC_A_OR_NOT_B

A OR (!B).

SL_HAL_PRS_LOGIC_A_OR_B

A OR B.

SL_HAL_PRS_LOGIC_ONE

Logical 1.


sl_hal_prs_async_producer_signal_t#

sl_hal_prs_async_producer_signal_t

Async PRS Signals.

Enumerator
SL_HAL_PRS_ASYNC_NONE

No Signal.

SL_HAL_PRS_ASYNC_USART0_CS

USART0 CS Signal.

SL_HAL_PRS_ASYNC_USART0_IRTX

USART0 IRTX Signal.

SL_HAL_PRS_ASYNC_USART0_RTS

USART0 RTS Signal.

SL_HAL_PRS_ASYNC_USART0_RXDATA

USART0 RXDATA Signal.

SL_HAL_PRS_ASYNC_USART0_TX

USART0 TX Signal.

SL_HAL_PRS_ASYNC_USART0_TXC

USART0 TXC Signal.

SL_HAL_PRS_ASYNC_USART1_CS

USART1 CS Signal.

SL_HAL_PRS_ASYNC_USART1_IRTX

USART1 IRTX Signal.

SL_HAL_PRS_ASYNC_USART1_RTS

USART1 RTS Signal.

SL_HAL_PRS_ASYNC_USART1_RXDATA

USART1 RXDATA Signal.

SL_HAL_PRS_ASYNC_USART1_TX

USART1 TX Signal.

SL_HAL_PRS_ASYNC_USART1_TXC

USART1 TXC Signal.

SL_HAL_PRS_ASYNC_TIMER0_UF

TIMER0 UF Signal.

SL_HAL_PRS_ASYNC_TIMER0_OF

TIMER0 OF Signal.

SL_HAL_PRS_ASYNC_TIMER0_CC0

TIMER0 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER0_CC1

TIMER0 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER0_CC2

TIMER0 CC2 Signal.

SL_HAL_PRS_ASYNC_TIMER1_UF

TIMER1 UF Signal.

SL_HAL_PRS_ASYNC_TIMER1_OF

TIMER1 OF Signal.

SL_HAL_PRS_ASYNC_TIMER1_CC0

TIMER1 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER1_CC1

TIMER1 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER1_CC2

TIMER1 CC2 Signal.

SL_HAL_PRS_ASYNC_IADC0_SCANENTRYDONE

IADC0 SCANENTRYDONE Signal.

SL_HAL_PRS_ASYNC_IADC0_SCANTABLEDONE

IADC0 SCANTABLEDONE Signal.

SL_HAL_PRS_ASYNC_IADC0_SINGLEDONE

IADC0 SINGLEDONE Signal.

SL_HAL_PRS_ASYNC_LETIMER0_CH0

LETIMER0 CH0 Signal.

SL_HAL_PRS_ASYNC_LETIMER0_CH1

LETIMER0 CH1 Signal.

SL_HAL_PRS_ASYNC_BURTC_COMP

BURTC COMP Signal.

SL_HAL_PRS_ASYNC_BURTC_OVERFLOW

BURTC OVERFLOW Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN0

GPIO PIN0 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN1

GPIO PIN1 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN2

GPIO PIN2 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN3

GPIO PIN3 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN4

GPIO PIN4 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN5

GPIO PIN5 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN6

GPIO PIN6 Signal.

SL_HAL_PRS_ASYNC_GPIO_PIN7

GPIO PIN7 Signal.

SL_HAL_PRS_ASYNC_TIMER2_UF

TIMER2 UF Signal.

SL_HAL_PRS_ASYNC_TIMER2_OF

TIMER2 OF Signal.

SL_HAL_PRS_ASYNC_TIMER2_CC0

TIMER2 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER2_CC1

TIMER2 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER2_CC2

TIMER2 CC2 Signal.

SL_HAL_PRS_ASYNC_TIMER3_UF

TIMER3 UF Signal.

SL_HAL_PRS_ASYNC_TIMER3_OF

TIMER3 OF Signal.

SL_HAL_PRS_ASYNC_TIMER3_CC0

TIMER3 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER3_CC1

TIMER3 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER3_CC2

TIMER3 CC2 Signal.

SL_HAL_PRS_ASYNC_CORE_CTIOUT0

CORE CTIOUT0 Signal.

SL_HAL_PRS_ASYNC_CORE_CTIOUT1

CORE CTIOUT1 Signal.

SL_HAL_PRS_ASYNC_CORE_CTIOUT2

CORE CTIOUT2 Signal.

SL_HAL_PRS_ASYNC_CORE_CTIOUT3

CORE CTIOUT3 Signal.

SL_HAL_PRS_ASYNC_CMUL_CLKOUT0

CMUL CLKOUT0 Signal.

SL_HAL_PRS_ASYNC_CMUL_CLKOUT1

CMUL CLKOUT1 Signal.

SL_HAL_PRS_ASYNC_CMUL_CLKOUT2

CMUL CLKOUT2 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH0

PRSL ASYNCH0 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH1

PRSL ASYNCH1 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH2

PRSL ASYNCH2 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH3

PRSL ASYNCH3 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH4

PRSL ASYNCH4 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH5

PRSL ASYNCH5 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH6

PRSL ASYNCH6 Signal.

SL_HAL_PRS_ASYNC_PRSL_ASYNCH7

PRSL ASYNCH7 Signal.

SL_HAL_PRS_ASYNC_PRS_ASYNCH8

PRS ASYNCH8 Signal.

SL_HAL_PRS_ASYNC_PRS_ASYNCH9

PRS ASYNCH9 Signal.

SL_HAL_PRS_ASYNC_PRS_ASYNCH10

PRS ASYNCH10 Signal.

SL_HAL_PRS_ASYNC_PRS_ASYNCH11

PRS ASYNCH11 Signal.

SL_HAL_PRS_ASYNC_TIMER4_UF

TIMER4 UF Signal.

SL_HAL_PRS_ASYNC_TIMER4_OF

TIMER4 OF Signal.

SL_HAL_PRS_ASYNC_TIMER4_CC0

TIMER4 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER4_CC1

TIMER4 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER4_CC2

TIMER4 CC2 Signal.

SL_HAL_PRS_ASYNC_ACMP0_OUT

ACMP0 OUT Signal.

SL_HAL_PRS_ASYNC_EUSART0L_CS

EUSART0L CS Signal.

SL_HAL_PRS_ASYNC_EUSART0L_IRDATX

EUSART0L IRDATX Signal.

SL_HAL_PRS_ASYNC_EUSART0L_RTS

EUSART0L RTS Signal.

SL_HAL_PRS_ASYNC_EUSART0L_RXDATAV

EUSART0L RXDATAV Signal.

SL_HAL_PRS_ASYNC_EUSART0L_TX

EUSART0L TX Signal.

SL_HAL_PRS_ASYNC_EUSART0L_TXC

EUSART0L TXC Signal.

SL_HAL_PRS_ASYNC_EUSART0L_RXFL

EUSART0L RXFL Signal.

SL_HAL_PRS_ASYNC_EUSART0L_TXFL

EUSART0L TXFL Signal.

SL_HAL_PRS_ASYNC_LFRCO_CALMEAS

LFRCO CALMEAS Signal.

SL_HAL_PRS_ASYNC_LFRCO_SDM

LFRCO SDM Signal.

SL_HAL_PRS_ASYNC_LFRCO_TCMEAS

LFRCO TCMEAS Signal.

SL_HAL_PRS_ASYNC_ACMP1_OUT

ACMP1 OUT Signal.

SL_HAL_PRS_ASYNC_VDAC0L_CH0WARM

VDAC0L CH0WARM Signal.

SL_HAL_PRS_ASYNC_VDAC0L_CH1WARM

VDAC0L CH1WARM Signal.

SL_HAL_PRS_ASYNC_VDAC0L_CH0DONEASYNC

VDAC0L CH0DONEASYNC Signal.

SL_HAL_PRS_ASYNC_VDAC0L_CH1DONEASYNC

VDAC0L CH1DONEASYNC Signal.

SL_HAL_PRS_ASYNC_VDAC0L_INTERNALTIMEROF

VDAC0L INTERNALTIMEROF Signal.

SL_HAL_PRS_ASYNC_VDAC0L_REFRESHTIMEROF

VDAC0L REFRESHTIMEROF Signal.

SL_HAL_PRS_ASYNC_PCNT0_DIR

PCNT0 DIR Signal.

SL_HAL_PRS_ASYNC_PCNT0_UFOF

PCNT0 UFOF Signal.

SL_HAL_PRS_ASYNC_SYSRTC0_GRP0OUT0

SYSRTC0 GRP0OUT0 Signal.

SL_HAL_PRS_ASYNC_SYSRTC0_GRP0OUT1

SYSRTC0 GRP0OUT1 Signal.

SL_HAL_PRS_ASYNC_SYSRTC0_GRP1OUT0

SYSRTC0 GRP1OUT0 Signal.

SL_HAL_PRS_ASYNC_SYSRTC0_GRP1OUT1

SYSRTC0 GRP1OUT1 Signal.

SL_HAL_PRS_ASYNC_HFXO0L_STATUS

HFXO0L STATUS Signal.

SL_HAL_PRS_ASYNC_HFXO0L_STATUS1

HFXO0L STATUS1 Signal.

SL_HAL_PRS_ASYNC_EUSART1L_CS

EUSART1L CS Signal.

SL_HAL_PRS_ASYNC_EUSART1L_IRDATX

EUSART1L IRDATX Signal.

SL_HAL_PRS_ASYNC_EUSART1L_RTS

EUSART1L RTS Signal.

SL_HAL_PRS_ASYNC_EUSART1L_RXDATAV

EUSART1L RXDATAV Signal.

SL_HAL_PRS_ASYNC_EUSART1L_TX

EUSART1L TX Signal.

SL_HAL_PRS_ASYNC_EUSART1L_TXC

EUSART1L TXC Signal.

SL_HAL_PRS_ASYNC_EUSART1L_RXFL

EUSART1L RXFL Signal.

SL_HAL_PRS_ASYNC_EUSART1L_TXFL

EUSART1L TXFL Signal.

SL_HAL_PRS_ASYNC_VDAC1L_CH1WARM

VDAC1L CH1WARM Signal.

SL_HAL_PRS_ASYNC_VDAC1L_CH0WARM

VDAC1L CH0WARM Signal.

SL_HAL_PRS_ASYNC_VDAC1L_CH0DONEASYNC

VDAC1L CH0DONEASYNC Signal.

SL_HAL_PRS_ASYNC_VDAC1L_REFRESHTIMEROF

VDAC1L REFRESHTIMEROF Signal.

SL_HAL_PRS_ASYNC_VDAC1L_INTERNALTIMEROF

VDAC1L INTERNALTIMEROF Signal.

SL_HAL_PRS_ASYNC_VDAC1L_CH1DONEASYNC

VDAC1L CH1DONEASYNC Signal.

SL_HAL_PRS_ASYNC_TIMER5_UF

TIMER5 UF Signal.

SL_HAL_PRS_ASYNC_TIMER5_OF

TIMER5 OF Signal.

SL_HAL_PRS_ASYNC_TIMER5_CC0

TIMER5 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER5_CC1

TIMER5 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER5_CC2

TIMER5 CC2 Signal.

SL_HAL_PRS_ASYNC_TIMER6_UF

TIMER6 UF Signal.

SL_HAL_PRS_ASYNC_TIMER6_OF

TIMER6 OF Signal.

SL_HAL_PRS_ASYNC_TIMER6_CC0

TIMER6 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER6_CC1

TIMER6 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER6_CC2

TIMER6 CC2 Signal.

SL_HAL_PRS_ASYNC_TIMER7_UF

TIMER7 UF Signal.

SL_HAL_PRS_ASYNC_TIMER7_OF

TIMER7 OF Signal.

SL_HAL_PRS_ASYNC_TIMER7_CC0

TIMER7 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER7_CC1

TIMER7 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER7_CC2

TIMER7 CC2 Signal.

SL_HAL_PRS_ASYNC_TIMER8_UF

TIMER8 UF Signal.

SL_HAL_PRS_ASYNC_TIMER8_OF

TIMER8 OF Signal.

SL_HAL_PRS_ASYNC_TIMER8_CC0

TIMER8 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER8_CC1

TIMER8 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER8_CC2

TIMER8 CC2 Signal.

SL_HAL_PRS_ASYNC_TIMER9_UF

TIMER9 UF Signal.

SL_HAL_PRS_ASYNC_TIMER9_OF

TIMER9 OF Signal.

SL_HAL_PRS_ASYNC_TIMER9_CC0

TIMER9 CC0 Signal.

SL_HAL_PRS_ASYNC_TIMER9_CC1

TIMER9 CC1 Signal.

SL_HAL_PRS_ASYNC_TIMER9_CC2

TIMER9 CC2 Signal.

SL_HAL_PRS_ASYNC_USART2_CS

USART2 CS Signal.

SL_HAL_PRS_ASYNC_USART2_IRTX

USART2 IRTX Signal.

SL_HAL_PRS_ASYNC_USART2_RTS

USART2 RTS Signal.

SL_HAL_PRS_ASYNC_USART2_RXDATA

USART2 RXDATA Signal.

SL_HAL_PRS_ASYNC_USART2_TX

USART2 TX Signal.

SL_HAL_PRS_ASYNC_USART2_TXC

USART2 TXC Signal.

SL_HAL_PRS_ASYNC_EUSART2_CS

EUSART2 CS Signal.

SL_HAL_PRS_ASYNC_EUSART2_IRDATX

EUSART2 IRDATX Signal.

SL_HAL_PRS_ASYNC_EUSART2_RTS

EUSART2 RTS Signal.

SL_HAL_PRS_ASYNC_EUSART2_RXDATAV

EUSART2 RXDATAV Signal.

SL_HAL_PRS_ASYNC_EUSART2_RXFL

EUSART2 RXFL Signal.

SL_HAL_PRS_ASYNC_EUSART2_TX

EUSART2 TX Signal.

SL_HAL_PRS_ASYNC_EUSART2_TXC

EUSART2 TXC Signal.

SL_HAL_PRS_ASYNC_EUSART2_TXFL

EUSART2 TXFL Signal.

SL_HAL_PRS_ASYNC_EUSART3_CS

EUSART3 CS Signal.

SL_HAL_PRS_ASYNC_EUSART3_IRDATX

EUSART3 IRDATX Signal.

SL_HAL_PRS_ASYNC_EUSART3_RTS

EUSART3 RTS Signal.

SL_HAL_PRS_ASYNC_EUSART3_RXDATAV

EUSART3 RXDATAV Signal.

SL_HAL_PRS_ASYNC_EUSART3_RXFL

EUSART3 RXFL Signal.

SL_HAL_PRS_ASYNC_EUSART3_TX

EUSART3 TX Signal.

SL_HAL_PRS_ASYNC_EUSART3_TXC

EUSART3 TXC Signal.

SL_HAL_PRS_ASYNC_EUSART3_TXFL

EUSART3 TXFL Signal.

SL_HAL_PRS_ASYNC_BUFC_THR0

BUFC THR0 Signal.

SL_HAL_PRS_ASYNC_BUFC_THR1

BUFC THR1 Signal.

SL_HAL_PRS_ASYNC_BUFC_THR2

BUFC THR2 Signal.

SL_HAL_PRS_ASYNC_BUFC_THR3

BUFC THR3 Signal.

SL_HAL_PRS_ASYNC_BUFC_CNT0

BUFC CNT0 Signal.

SL_HAL_PRS_ASYNC_BUFC_CNT1

BUFC CNT1 Signal.

SL_HAL_PRS_ASYNC_BUFC_FULL

BUFC FULL Signal.


sl_hal_prs_sync_producer_signal_t#

sl_hal_prs_sync_producer_signal_t

Sync PRS Signals.

Enumerator
SL_HAL_PRS_SYNC_NONE

No Signal.

SL_HAL_PRS_SYNC_TIMER0_UF

TIMER0 UF Signal.

SL_HAL_PRS_SYNC_TIMER0_OF

TIMER0 OF Signal.

SL_HAL_PRS_SYNC_TIMER0_CC0

TIMER0 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER0_CC1

TIMER0 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER0_CC2

TIMER0 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER1_UF

TIMER1 UF Signal.

SL_HAL_PRS_SYNC_TIMER1_OF

TIMER1 OF Signal.

SL_HAL_PRS_SYNC_TIMER1_CC0

TIMER1 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER1_CC1

TIMER1 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER1_CC2

TIMER1 CC2 Signal.

SL_HAL_PRS_SYNC_IADC0_SCANENTRYDONE

IADC0 SCANENTRYDONE Signal.

SL_HAL_PRS_SYNC_IADC0_SCANTABLEDONE

IADC0 SCANTABLEDONE Signal.

SL_HAL_PRS_SYNC_IADC0_SINGLEDONE

IADC0 SINGLEDONE Signal.

SL_HAL_PRS_SYNC_TIMER2_UF

TIMER2 UF Signal.

SL_HAL_PRS_SYNC_TIMER2_OF

TIMER2 OF Signal.

SL_HAL_PRS_SYNC_TIMER2_CC0

TIMER2 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER2_CC1

TIMER2 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER2_CC2

TIMER2 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER3_UF

TIMER3 UF Signal.

SL_HAL_PRS_SYNC_TIMER3_OF

TIMER3 OF Signal.

SL_HAL_PRS_SYNC_TIMER3_CC0

TIMER3 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER3_CC1

TIMER3 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER3_CC2

TIMER3 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER4_UF

TIMER4 UF Signal.

SL_HAL_PRS_SYNC_TIMER4_OF

TIMER4 OF Signal.

SL_HAL_PRS_SYNC_TIMER4_CC0

TIMER4 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER4_CC1

TIMER4 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER4_CC2

TIMER4 CC2 Signal.

SL_HAL_PRS_SYNC_VDAC0_CH0DONESYNC

VDAC0 CH0DONESYNC Signal.

SL_HAL_PRS_SYNC_VDAC0_CH1DONESYNC

VDAC0 CH1DONESYNC Signal.

SL_HAL_PRS_SYNC_VDAC1_CH0DONESYNC

VDAC1 CH0DONESYNC Signal.

SL_HAL_PRS_SYNC_VDAC1_CH1DONESYNC

VDAC1 CH1DONESYNC Signal.

SL_HAL_PRS_SYNC_TIMER5_UF

TIMER5 UF Signal.

SL_HAL_PRS_SYNC_TIMER5_OF

TIMER5 OF Signal.

SL_HAL_PRS_SYNC_TIMER5_CC0

TIMER5 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER5_CC1

TIMER5 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER5_CC2

TIMER5 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER6_UF

TIMER6 UF Signal.

SL_HAL_PRS_SYNC_TIMER6_OF

TIMER6 OF Signal.

SL_HAL_PRS_SYNC_TIMER6_CC0

TIMER6 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER6_CC1

TIMER6 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER6_CC2

TIMER6 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER7_UF

TIMER7 UF Signal.

SL_HAL_PRS_SYNC_TIMER7_OF

TIMER7 OF Signal.

SL_HAL_PRS_SYNC_TIMER7_CC0

TIMER7 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER7_CC1

TIMER7 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER7_CC2

TIMER7 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER8_UF

TIMER8 UF Signal.

SL_HAL_PRS_SYNC_TIMER8_OF

TIMER8 OF Signal.

SL_HAL_PRS_SYNC_TIMER8_CC0

TIMER8 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER8_CC1

TIMER8 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER8_CC2

TIMER8 CC2 Signal.

SL_HAL_PRS_SYNC_TIMER9_UF

TIMER9 UF Signal.

SL_HAL_PRS_SYNC_TIMER9_OF

TIMER9 OF Signal.

SL_HAL_PRS_SYNC_TIMER9_CC0

TIMER9 CC0 Signal.

SL_HAL_PRS_SYNC_TIMER9_CC1

TIMER9 CC1 Signal.

SL_HAL_PRS_SYNC_TIMER9_CC2

TIMER9 CC2 Signal.


sl_hal_prs_consumer_event_t#

sl_hal_prs_consumer_event_t

PRS Consumers.

Enumerator
SL_HAL_PRS_CONSUMER_NONE

No PRS consumer.

SL_HAL_PRS_CONSUMER_CMU_CALDN

CMU CALDN consumer consumer.

SL_HAL_PRS_CONSUMER_CMU_CALUP

CMU CALUP Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART0_CLK

EUSART0 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART0_RX

EUSART0 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART0_TRIGGER

EUSART0 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_IADC0_SCANTRIGGER

IADC0 SCANTRIGGER consumer consumer.

SL_HAL_PRS_CONSUMER_IADC0_SINGLETRIGGER

IADC0 SINGLETRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_LDMAXBAR_DMAREQ0

LDMAXBAR DMAREQ0 consumer consumer.

SL_HAL_PRS_CONSUMER_LDMAXBAR_DMAREQ1

LDMAXBAR DMAREQ1 Consumer consumer.

SL_HAL_PRS_CONSUMER_LETIMER0_CLEAR

LETIMER0 CLEAR consumer consumer.

SL_HAL_PRS_CONSUMER_LETIMER0_START

LETIMER0 START Consumer consumer.

SL_HAL_PRS_CONSUMER_LETIMER0_STOP

LETIMER0 STOP Consumer consumer.

SL_HAL_PRS_CONSUMER_MODEM_DIN

MODEM DIN consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_CLR

RAC CLR consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_CTIIN0

RAC CTIIN0 Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_CTIIN1

RAC CTIIN1 Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_CTIIN2

RAC CTIIN2 Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_CTIIN3

RAC CTIIN3 Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_FORCETX

RAC FORCETX Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_RXDIS

RAC RXDIS Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_RXEN

RAC RXEN Consumer consumer.

SL_HAL_PRS_CONSUMER_RAC_TXEN

RAC TXEN Consumer consumer.

SL_HAL_PRS_CONSUMER_CORE_CTIIN0

CORE CTIIN0 consumer consumer.

SL_HAL_PRS_CONSUMER_CORE_CTIIN1

CORE CTIIN1 Consumer consumer.

SL_HAL_PRS_CONSUMER_CORE_CTIIN2

CORE CTIIN2 Consumer consumer.

SL_HAL_PRS_CONSUMER_CORE_CTIIN3

CORE CTIIN3 Consumer consumer.

SL_HAL_PRS_CONSUMER_CORE_M33RXEV

CORE M33RXEV Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER0_CC0

TIMER0 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER0_CC1

TIMER0 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER0_CC2

TIMER0 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER0_DTI

TIMER0 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER0_DTIFS1

TIMER0 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER0_DTIFS2

TIMER0 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER1_CC0

TIMER1 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER1_CC1

TIMER1 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER1_CC2

TIMER1 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER1_DTI

TIMER1 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER1_DTIFS1

TIMER1 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER1_DTIFS2

TIMER1 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER2_CC0

TIMER2 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER2_CC1

TIMER2 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER2_CC2

TIMER2 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER2_DTI

TIMER2 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER2_DTIFS1

TIMER2 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER2_DTIFS2

TIMER2 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER3_CC0

TIMER3 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER3_CC1

TIMER3 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER3_CC2

TIMER3 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER3_DTI

TIMER3 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER3_DTIFS1

TIMER3 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER3_DTIFS2

TIMER3 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER4_CC0

TIMER4 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER4_CC1

TIMER4 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER4_CC2

TIMER4 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER4_DTI

TIMER4 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER4_DTIFS1

TIMER4 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER4_DTIFS2

TIMER4 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_USART0_CLK

USART0 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_USART0_IR

USART0 IR Consumer consumer.

SL_HAL_PRS_CONSUMER_USART0_RX

USART0 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_USART0_TRIGGER

USART0 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_USART1_CLK

USART1 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_USART1_IR

USART1 IR Consumer consumer.

SL_HAL_PRS_CONSUMER_USART1_RX

USART1 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_USART1_TRIGGER

USART1 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_WDOG0_SRC0

WDOG0 SRC0 consumer consumer.

SL_HAL_PRS_CONSUMER_WDOG0_SRC1

WDOG0 SRC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART1_CLK

EUSART1 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART1_RX

EUSART1 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART1_TRIGGER

EUSART1 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART2_CLK

EUSART2 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART2_RX

EUSART2 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART2_TRIGGER

EUSART2 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_PCNT0_S0IN

PCNT0 S0IN consumer consumer.

SL_HAL_PRS_CONSUMER_PCNT0_S1IN

PCNT0 S1IN Consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC25

SETAMPER TAMPERSRC25 consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC26

SETAMPER TAMPERSRC26 Consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC27

SETAMPER TAMPERSRC27 Consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC28

SETAMPER TAMPERSRC28 Consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC29

SETAMPER TAMPERSRC29 Consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC30

SETAMPER TAMPERSRC30 Consumer consumer.

SL_HAL_PRS_CONSUMER_SETAMPER_TAMPERSRC31

SETAMPER TAMPERSRC31 Consumer consumer.

SL_HAL_PRS_CONSUMER_SYSRTC0_IN0

SYSRTC0 IN0 consumer consumer.

SL_HAL_PRS_CONSUMER_SYSRTC0_IN1

SYSRTC0 IN1 Consumer consumer.

SL_HAL_PRS_CONSUMER_HFXO0_OSCREQ

HFXO0 OSCREQ consumer consumer.

SL_HAL_PRS_CONSUMER_HFXO0_TIMEOUT

HFXO0 TIMEOUT Consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC0_ASYNCTRIGCH0

VDAC0 ASYNCTRIGCH0 consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC0_ASYNCTRIGCH1

VDAC0 ASYNCTRIGCH1 Consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC0_SYNCTRIGCH0

VDAC0 SYNCTRIGCH0 Consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC0_SYNCTRIGCH1

VDAC0 SYNCTRIGCH1 Consumer consumer.

SL_HAL_PRS_CONSUMER_WDOG1_SRC0

WDOG1 SRC0 consumer consumer.

SL_HAL_PRS_CONSUMER_WDOG1_SRC1

WDOG1 SRC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART3_CLK

EUSART3 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART3_RX

EUSART3 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_EUSART3_TRIGGER

EUSART3 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_MODEM_PAEN

MODEM PAEN Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER5_CC0

TIMER5 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER5_CC1

TIMER5 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER5_CC2

TIMER5 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER5_DTI

TIMER5 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER5_DTIFS1

TIMER5 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER5_DTIFS2

TIMER5 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER6_CC0

TIMER6 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER6_CC1

TIMER6 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER6_CC2

TIMER6 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER6_DTI

TIMER6 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER6_DTIFS1

TIMER6 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER6_DTIFS2

TIMER6 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER7_CC0

TIMER7 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER7_CC1

TIMER7 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER7_CC2

TIMER7 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER7_DTI

TIMER7 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER7_DTIFS1

TIMER7 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER7_DTIFS2

TIMER7 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER8_CC0

TIMER8 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER8_CC1

TIMER8 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER8_CC2

TIMER8 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER8_DTI

TIMER8 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER8_DTIFS1

TIMER8 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER8_DTIFS2

TIMER8 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER9_CC0

TIMER9 CC0 consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER9_CC1

TIMER9 CC1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER9_CC2

TIMER9 CC2 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER9_DTI

TIMER9 DTI Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER9_DTIFS1

TIMER9 DTIFS1 Consumer consumer.

SL_HAL_PRS_CONSUMER_TIMER9_DTIFS2

TIMER9 DTIFS2 Consumer consumer.

SL_HAL_PRS_CONSUMER_USART2_CLK

USART2 CLK consumer consumer.

SL_HAL_PRS_CONSUMER_USART2_IR

USART2 IR Consumer consumer.

SL_HAL_PRS_CONSUMER_USART2_RX

USART2 RX Consumer consumer.

SL_HAL_PRS_CONSUMER_USART2_TRIGGER

USART2 TRIGGER Consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC1_ASYNCTRIGCH0

VDAC1 ASYNCTRIGCH0 consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC1_ASYNCTRIGCH1

VDAC1 ASYNCTRIGCH1 Consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC1_SYNCTRIGCH0

VDAC1 SYNCTRIGCH0 Consumer consumer.

SL_HAL_PRS_CONSUMER_VDAC1_SYNCTRIGCH1

VDAC1 SYNCTRIGCH1 Consumer consumer.


Function Documentation#

sl_hal_prs_async_init_channel#

void sl_hal_prs_async_init_channel (const sl_hal_prs_async_channel_init_t * init)

Configure Async channel.

Parameters
TypeDirectionArgument NameDescription
const sl_hal_prs_async_channel_init_t *[in]init

Pointer to configuration structure.


sl_hal_prs_sync_init_channel#

void sl_hal_prs_sync_init_channel (const sl_hal_prs_sync_channel_init_t * init)

Configure Sync channel.

Parameters
TypeDirectionArgument NameDescription
const sl_hal_prs_sync_channel_init_t *[in]init

Pointer to configuration structure.


sl_hal_prs_get_free_channel#

sl_status_t sl_hal_prs_get_free_channel (uint8_t * channel, sl_hal_prs_channel_type_t channel_type)

Search for the first free PRS channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t *[in]channel

PRS channel number.

sl_hal_prs_channel_type_t[in]channel_type

PRS channel type. This can be either SL_HAL_PRS_TYPE_ASYNC or SL_HAL_PRS_TYPE_SYNC.

It applies for sync/async channels.

Returns

  • SL_STATUS_OK if an unused PRS channel was found. If no free PRS channel was found then SL_STATUS_FAIL is returned.


sl_hal_prs_reset#

void sl_hal_prs_reset (void )

Reset all PRS channels.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function will reset all the PRS channel configuration.


sl_hal_prs_connect_channel_consumer#

void sl_hal_prs_connect_channel_consumer (uint8_t channel, sl_hal_prs_channel_type_t channel_type, sl_hal_prs_consumer_event_t consumer_event)

Connect a peripheral consumer to a PRS channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

PRS channel number.

sl_hal_prs_channel_type_t[in]channel_type

PRS channel type. This can be either SL_HAL_PRS_TYPE_ASYNC or SL_HAL_PRS_TYPE_SYNC.

sl_hal_prs_consumer_event_t[in]consumer_event

This is the PRS consumer.

Different peripherals can use PRS channels as their input. This function can be used to connect a peripheral consumer to a PRS channel. Multiple consumers can be connected to a single PRS channel. It applies for sync/async channels.


sl_hal_prs_pin_output#

void sl_hal_prs_pin_output (uint8_t channel, sl_hal_prs_channel_type_t channel_type, sl_gpio_port_t port, uint8_t pin)

Send the output of a PRS channel to a GPIO pin.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

PRS channel number.

sl_hal_prs_channel_type_t[in]channel_type

PRS channel type. This can be either SL_HAL_PRS_TYPE_ASYNC or SL_HAL_PRS_TYPE_SYNC.

sl_gpio_port_t[in]port

GPIO port

uint8_t[in]pin

GPIO pin

This function is used to send the output of a PRS channel to a GPIO pin.

Note

  • There are certain restrictions to where a PRS channel can be routed. Consult the datasheet of the device to see if the selected channel is routable to the requested gpio port . Some devices for instance can only route the async channels 0-5 on GPIO pins PAx and PBx while async channels 6-11 can only be routed to GPIO pins PCx and PDx. It applies for sync/async channels.


sl_hal_prs_async_set_channel_swlevel#

void sl_hal_prs_async_set_channel_swlevel (uint8_t channel, bool level)

Set level control bit for one channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

channel to set level for. Use logical OR combination of PRS_SWLEVEL_CHnLEVEL defines.

bool[in]level

Level to use for channel channel. Use logical OR combination of PRS_SWLEVEL_CHnLEVEL defines for channels to set high level, otherwise 0.

The level value for a channel is XORed with both the pulse possibly issued by sl_hal_prs_async_set_channel_swpulse() and the PRS input signal selected for the channel(s).


sl_hal_prs_async_get_channel_swlevel#

bool sl_hal_prs_async_get_channel_swlevel (uint8_t channel)

Get level control bit for a channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

Channel to get level for.

Returns

  • The current software level configuration for a channel.


sl_hal_prs_get_channel_value#

bool sl_hal_prs_get_channel_value (uint8_t channel, sl_hal_prs_channel_type_t channel_type)

Get the PRS channel value for one channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

PRS channel to get value for.

sl_hal_prs_channel_type_t[in]channel_type

PRS channel type. This can be either SL_HAL_PRS_TYPE_ASYNC or SL_HAL_PRS_TYPE_SYNC.

It applies for sync/async channels

Returns

  • The current PRS channel output value.


sl_hal_prs_async_set_channel_swpulse#

void sl_hal_prs_async_set_channel_swpulse (uint8_t channel)

Trigger a high pulse (one HFPERCLK) for one channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

PRS channel to trigger a pulse.

Setting a bit for a channel causes the bit in the register to remain high for one HFPERCLK cycle. Pulse is XORed with both the corresponding bit in PRS SWLEVEL register and the PRS input signal selected for the channel(s).


sl_hal_prs_async_connect_channel_producer#

void sl_hal_prs_async_connect_channel_producer (uint8_t channel, sl_hal_prs_async_producer_signal_t producer_signal)

Set PRS signal for an async channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

PRS channel number.

sl_hal_prs_async_producer_signal_t[in]producer_signal

An async peripheral signal selected as a producer for PRS channel. It is a combination of source select and signal select values.


sl_hal_prs_sync_connect_channel_producer#

void sl_hal_prs_sync_connect_channel_producer (uint8_t channel, sl_hal_prs_sync_producer_signal_t producer_signal)

Set PRS signal for a sync channel.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel

PRS channel number.

sl_hal_prs_sync_producer_signal_t[in]producer_signal

A sync peripheral signal selected as a producer for PRS channel. It is a combination of source select and signal select values.


sl_hal_prs_async_combine_signals#

void sl_hal_prs_async_combine_signals (uint8_t channel_a, uint8_t channel_b, sl_hal_prs_logic_t logic)

Combine two PRS channels using a logic function.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]channel_a

PRS Channel for the A input.

uint8_t[in]channel_b

PRS Channel for the B input.

sl_hal_prs_logic_t[in]logic

The logic function to use when combining the Channel A and Channel B. The output of the logic function is the output of Channel A. Function like AND, OR, XOR, NOT and more are available.

This function allows you to combine the output of one PRS channel with the the signal of another PRS channel using various logic functions. Note that for series 2, config 1 devices, the hardware only allows a PRS channel to be combined with the previous channel. So for instance channel 5 can be combined only with channel 4. The logic function operates on two PRS channels called A and B. The output of PRS channel B is combined with the PRS source configured for channel A to produce an output. This output is used as the output of channel A.