SCTimer/PWM Register description

The register addresses of the State Configurable Timer are shown in SCTimer/PWM Register overview: State Configurable Timer (base address 0x5000 4000). For most of the SCT registers, the register function depends on the setting of certain other register bits:

  1. The UNIFY bit in the CONFIG register determines whether the SCT is used as one 32-bit register (for operation as one 32-bit counter/timer) or as two 16-bit counter/timers named L and H. The setting of the UNIFY bit is reflected in the register map:

    • UNIFY = 1: Only one register is used (for operation as one 32-bit counter/timer).
    • UNIFY = 0: Access the L and H registers by a 32-bit read or write operation or can be read or written to individually (for operation as two 16-bit counter/timers).

    Typically, the UNIFY bit is configured by writing to the CONFIG register before any other registers are accessed.

  2. The REGMODEn bits in the REGMODE register determine whether each set of Match/Capture registers uses the match or capture functionality:
    • REGMODEn = 1: Registers operate as match and reload registers.
    • REGMODEn = 0: Registers operate as capture and capture control registers.
Table 1. SCTimer/PWM Register overview: State Configurable Timer (base address 0x5000 4000)
Name Access Address offset Description Reset value Reference
CONFIG R/W 0x000 SCT configuration register 0x0000 7E00 SCTimer/PWM registerName = CONFIG addressOffset = 0x000
CTRL R/W 0x004 SCT control register 0x0004 0004 SCTimer/PWM registerName = CTRL addressOffset = 0x004
CTRL_L R/W 0x004 SCT control register low counter 16-bit - SCTimer/PWM registerName = CTRL addressOffset = 0x004
CTRL_H R/W 0x006 SCT control register high counter 16-bit - SCTimer/PWM registerName = CTRL addressOffset = 0x004
LIMIT R/W 0x008 SCT limit register 0x0000 0000 SCTimer/PWM registerName = LIMIT addressOffset = 0x008
LIMIT_L R/W 0x008 SCT limit register low counter 16-bit - SCTimer/PWM registerName = LIMIT addressOffset = 0x008
LIMIT_H R/W 0x00A SCT limit register high counter 16-bit - SCTimer/PWM registerName = LIMIT addressOffset = 0x008
HALT R/W 0x00C SCT halt condition register 0x0000 0000 SCTimer/PWM registerName = HALT addressOffset = 0x00C
HALT_L R/W 0x00C SCT halt condition register low counter 16-bit - SCTimer/PWM registerName = HALT addressOffset = 0x00C
HALT_H R/W 0x00E SCT halt condition register high counter 16-bit - SCTimer/PWM registerName = HALT addressOffset = 0x00C
STOP R/W 0x010 SCT stop condition register 0x0000 0000 SCTimer/PWM registerName = STOP addressOffset = 0x010
STOP_L R/W 0x010 SCT stop condition register low counter 16-bit - SCTimer/PWM registerName = STOP addressOffset = 0x010
STOP_H R/W 0x012 SCT stop condition register high counter 16-bit - SCTimer/PWM registerName = STOP addressOffset = 0x010
START R/W 0x014 SCT start condition register 0x0000 0000 SCTimer/PWM registerName = START addressOffset = 0x014
START_L R/W 0x014 SCT start condition register low counter 16-bit - SCTimer/PWM registerName = START addressOffset = 0x014
START_H R/W 0x016 SCT start condition register high counter 16-bit - SCTimer/PWM registerName = START addressOffset = 0x014
- - 0x018 - 0x03C Reserved   -
COUNT R/W 0x040 SCT counter register 0x0000 0000 SCTimer/PWM registerName = COUNT addressOffset = 0x040
COUNT_L R/W 0x040 SCT counter register low counter 16-bit - SCTimer/PWM registerName = COUNT addressOffset = 0x040
COUNT_H R/W 0x042 SCT counter register high counter 16-bit - SCTimer/PWM registerName = COUNT addressOffset = 0x040
STATE R/W 0x044 SCT state register 0x0000 0000 SCTimer/PWM registerName = STATE addressOffset = 0x044
STATE_L R/W 0x044 SCT state register low counter 16-bit - SCTimer/PWM registerName = STATE addressOffset = 0x044
STATE_H R/W 0x046 SCT state register high counter 16-bit - SCTimer/PWM registerName = STATE addressOffset = 0x044
INPUT RO 0x048 SCT input register 0x0000 0000 SCTimer/PWM registerName = INPUT addressOffset = 0x048
REGMODE R/W 0x04C SCT match/capture registers mode register 0x0000 0000 SCTimer/PWM registerName = REGMODE addressOffset = 0x04C
REGMODE_L R/W 0x04C SCT match/capture registers mode register low counter 16-bit - SCTimer/PWM registerName = REGMODE addressOffset = 0x04C
REGMODE_H R/W 0x04E SCT match/capture registers mode register high counter 16-bit - SCTimer/PWM registerName = REGMODE addressOffset = 0x04C
OUTPUT R/W 0x050 SCT output register 0x0000 0000 SCTimer/PWM registerName = OUTPUT addressOffset = 0x050
OUTPUTDIRCTRL R/W 0x054 SCT output counter direction control register 0x0000 0000 SCTimer/PWM registerName = OUTPUTDIRCTRL addressOffset = 0x054
RES R/W 0x058 SCT conflict resolution register 0x0000 0000 SCTimer/PWM registerName = RES addressOffset = 0x058
- - 0x05C - - -
- - 0x060 - - -
- - 0x064 - 0x0EC Reserved - -
EVEN R/W 0x0F0 SCT event enable register 0x0000 0000 SCTimer/PWM registerName = EVEN addressOffset = 0x0F0
EVFLAG R/W 0x0F4 SCT event flag register 0x0000 0000 SCTimer/PWM registerName = EVFLAG addressOffset = 0x0F4
CONEN R/W 0x0F8 SCT conflict enable register 0x0000 0000 SCTimer/PWM registerName = CONEN addressOffset = 0x0F8
CONFLAG R/W 0x0FC SCT conflict flag register 0x0000 0000 SCTimer/PWM registerName = CONFLAG addressOffset = 0x0FC
MATCH0 to MATCH4 R/W 0x100 to 0x110 SCT match value register of match channels 0 to 4; REGMOD0 to REGMODE4 = 0 0x0000 0000 SCTimer/PWM registerName = CONFLAG addressOffset = 0x0FC
MATCH_L0 to MATCH_L4 R/W 0x100 to 0x110 SCT match value register of match channels 0 to 4; low counter 16-bit; REGMOD0_L to REGMODE4_L = 0 - SCTimer/PWM registerName = CONFLAG addressOffset = 0x0FC
MATCH_H0 to MATCH_H4 R/W 0x102 to 0x112 SCT match value register of match channels 0 to 4; high counter 16-bit; REGMOD0_H to REGMODE4_H = 0 - SCTimer/PWM registerName = CONFLAG addressOffset = 0x0FC
CAP0 to CAP4   0x100 to 0x110 SCT capture register of capture channel 0 to 4; REGMOD0 to REGMODE4 = 1 0x0000 0000 SCTimer/PWM registerName = CAP[0:4] addressOffset = 0x100
CAP_L0 to CAP_L4   0x100 to 0x110 SCT capture register of capture channel 0 to 4; low counter 16-bit; REGMOD0_L to REGMODE4_L = 1 - SCTimer/PWM registerName = CAP[0:4] addressOffset = 0x100
CAP_H0 to CAP_H4   0x102 to 0x13E SCT capture register of capture channel 0 to 4; high counter 16-bit; REGMOD0_H to REGMODE4_H = 1 - SCTimer/PWM registerName = CAP[0:4] addressOffset = 0x100
MATCHREL0 to MATCHREL4 R/W 0x200 to 0x210 SCT match reload value register 0 to 4 REGMOD0 = 0 to REGMODE4 = 0 0x0000 0000 SCTimer/PWM registerName = MATCHREL[0:4] addressOffset = 0x200
MATCHREL_L0 to MATCHREL_L4 R/W 0x200 to 0x210 SCT match reload value register 0 to 4; low counter 16-bit; REGMOD0_L = 0 to REGMODE4_L = 0 - SCTimer/PWM registerName = MATCHREL[0:4] addressOffset = 0x200
MATCHREL_H0 to MATCHREL_H4 R/W 0x202 to 0x212 SCT match reload value register 0 to 4; high counter 16-bit; REGMOD0_H = 0 to REGMODE4_H = 0 - SCTimer/PWM registerName = MATCHREL[0:4] addressOffset = 0x200
CAPCTRL0 to CAPCTRL4   0x200 to 0x210 SCT capture control register 0 to 4; REGMOD0 = 1 to REGMODE4 = 1 0x0000 0000 SCTimer/PWM registerName = CAPCTRL[0:4] addressOffset = 0x200
CAPCTRL_L0 to CAPCTRL_L4   0x200 to 0x210 SCT capture control register 0 to 4; low counter 16-bit; REGMOD0_L = 1 to REGMODE4_L = 1 - SCTimer/PWM registerName = CAPCTRL[0:4] addressOffset = 0x200
CAPCTRL_H0 to CAPCTRL_H4   0x202 to 0x212 SCT capture control register 0 to 4; high counter 16-bit; REGMOD0 = 1 to REGMODE4 = 1 - SCTimer/PWM registerName = CAPCTRL[0:4] addressOffset = 0x200
EV0_STATE R/W 0x300 SCT event 0 state register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_STATE addressOffset = 0x300
EV0_CTRL R/W 0x304 SCT event 0 control register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_CTRL addressOffset = 0x304
EV1_STATE R/W 0x308 SCT event 1 state register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_STATE addressOffset = 0x300
EV1_CTRL R/W 0x30C SCT event 1 control register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_CTRL addressOffset = 0x304
EV2_STATE R/W 0x310 SCT event 2 state register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_STATE addressOffset = 0x300
EV2_CTRL R/W 0x314 SCT event 2 control register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_CTRL addressOffset = 0x304
EV3_STATE R/W 0x318 SCT event 3 state register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_STATE addressOffset = 0x300
EV3_CTRL R/W 0x31C SCT event 3 control register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_CTRL addressOffset = 0x304
EV4_STATE R/W 0x320 SCT event 4 state register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_STATE addressOffset = 0x300
EV4_CTRL R/W 0x324 SCT event 4 control register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_CTRL addressOffset = 0x304
EV5_STATE R/W 0x328 SCT event 5 state register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_STATE addressOffset = 0x300
EV5_CTRL R/W 0x32C SCT event 5 control register 0x0000 0000 SCTimer/PWM registerName = EV[0:5]_CTRL addressOffset = 0x304
OUT0_SET R/W 0x500 SCT output 0 set register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_SET addressOffset = 0x500
OUT0_CLR R/W 0x504 SCT output 0 clear register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_CLR addressOffset = 0x504
OUT1_SET R/W 0x508 SCT output 1 set register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_SET addressOffset = 0x500
OUT1_CLR R/W 0x50C SCT output 1 clear register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_CLR addressOffset = 0x504
OUT2_SET R/W 0x510 SCT output 2 set register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_SET addressOffset = 0x500
OUT2_CLR R/W 0x514 SCT output 2 clear register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_CLR addressOffset = 0x504
OUT3_SET R/W 0x518 SCT output 3 set register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_SET addressOffset = 0x500
OUT3_CLR R/W 0x51C SCT output 3 clear register 0x0000 0000 SCTimer/PWM registerName = OUT[0:3]_CLR addressOffset = 0x504

-->