SCTimer/PWM STATE addressOffset = 0x044

If UNIFY = 1 in the CONFIG register, only the _L bits are used.

If UNIFY = 0 in the CONFIG register, this register can be written to as two registers STATE_L and STATE_H. Both the L and H registers can be read or written individually or in a single 32-bit read or write operation.

Software can read the state associated with a counter at any time. Writing to the STATE_L, STATE_H, or unified register is only allowed when the corresponding counter is halted (HALT bits are set to 1 in the CTRL register).

The state variable is the main feature that distinguishes the SCT from other counter/timer/ PWM blocks. Events can be made to occur only in certain states. Events, in turn, can perform the following actions:

  • set and clear outputs
  • limit, stop, and start the counter
  • cause interrupts
  • modify the state variable

The value of a state variable is completely under the control of the application. If an application does not use states, the value of the state variable remains zero, which is the default value.

A state variable can be used to track and control multiple cycles of the associated counter in any desired operational sequence. The state variable is logically associated with a state machine diagram which represents the SCT configuration. See SCTimer/PWM EV_STATE addressOffset = 0x300 and SCTimer/PWM EV_CTRL addressOffset = 0x304 for more about the relationship between states and events.

The STATELD/STADEV fields in the event control registers of all defined events set all possible values for the state variable. The change of the state variable during multiple counter cycles reflects how the associated state machine moves from one state to the next.

Table 1. SCTimer/PWM registerName = STATE addressOffset = 0x044
Bit Symbol Description Reset value
4:0 STATE_L State variable. 0
15:5 - Reserved. -
20:16 STATE_H State variable. 0
31:21 - Reserved.