Main Content

Timer

Starts timer counter and provides current counter value

Since R2022b

Add-On Required: This feature requires the Embedded Coder Support Package for STMicroelectronics STM32 Processors add-on.

  • Timer block

Libraries:
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F2xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F3xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32G4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32H7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32U5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32WBxx Based Boards

Description

Starts timer counter and provides the current counter value as output for the selected timer module. Also enables the interrupts selected in configuration parameters.

Counter is started during model initialization only when Start Timer during model initialization parameter is selected in the configuration parameters.

To start/stop the counter in runtime, deselect the Start Timer during model initialization parameter in the configuration parameters and select Enable input to enable/disable timer option in the block. An input of 1 to the corresponding input port will start the counter and 0 will stop the counter.

Examples

Ports

Input

expand all

The input at this port determines the frequency of the counter. This value is written directly to the auto reload register.

The frequency count for 32 bit timers is between 0 to 0xFFFFFFFF and for 16 bit timers is between 0 to 0xFFFF.

Dependencies

To enable this port, select the Enable frequency input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to enable or disable the timer counter. Set the port to one of these values.

  • 0 - Disable counter

  • 1 - Enable counter

Dependencies

To enable this port, select the Enable input to enable/disable timer parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

This main output enable (MOE) bit is cleared asynchronously by the hardware as soon as the break input is active.

If input is 1, then the MOE bit is set as 1.

Dependencies

To enable this port, select the Enable main output enable (MOE) input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to generate an update event. When you specify a value of 1, the port generates an update event.

Dependencies

To enable this port, select the Enable update generation event input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to generate capture compare generation event. When you specify a value of 1, the port generates an capture compare event.

Dependencies

To enable this port, select the Enable capture compare # generation event input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to generate trigger event. When you specify a value of 1, the port generates an trigger event.

Dependencies

To enable this port, select the Enable trigger generation event input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to generate break generation event. When you specify a value of 1, the port generates an break generation event.

Dependencies

To enable this port, select the Enable break generation event input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to generate break 2 generation event. When you specify a value of 1, the port generates an break 2 generation event and MOE status is cleared.

Dependencies

To enable this port, select the Enable break generation 2 event input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Use this port to generate capture compare control update generation event. When you specify a value of 1, the port generates capture compare control update generation.

Dependencies

To enable this port, select the Enable COM generation event input parameter.

Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

Output

expand all

The counter port provides the current timer counter values as output for the selected timer module.

Data Types: uint32

The block outputs the current direction of the timer counter as one of the following:

  • 0 - Up counter

  • 1 - Down counter

Dependencies

To enable this port, select the Enable timer counter direction output parameter.

Data Types: Boolean

Status of the main output enable (MOE) bit.

Dependencies

To enable this port, select the Enable main output enable (MOE) status output parameter.

Data Types: Boolean

Parameters

expand all

Main

Select the timer module. Number of timer module available will vary for different processors.

Note

Ensure that Timer module is also configured in the STM32CubeMX project.

By default, the Start timer during model initialization parameter is enabled in configuration parameter. This starts the Timer Counter during model initialization.

If you want to start the timer counter during run time, disable the Start timer during model initialization parameter in configuration parameter.

Note

If both Enable input to enable/disable timer parameter (block) and Start timer during model initialization (Configuration Parameter) parameters are not enabled, the timer counter will not be started.

Enable this parameter to set the main output enable (MOE) bit to recover from a break.

Dependencies

To enable this parameter, set the Timer module parameter to either TIM1, TIM8, TIM8, TIM16, TIM17, or TIM20.

Enable this parameter to set the AutoReload register (ARR) value of the timer during runtime.

For odd values in the repetition counter, the update event occurs on underflow or overflow depending on when you set the repetition counter.

By default, the block sets repetition counter before you enable the timer counter, so an update event occurs on underflow.

If you enable this parameter, the block sets repetition counter after you enable the time counter, so an update events occur on overflow.

Dependencies

To enable this parameter, set the Timer module parameter to either TIM1, TIM8, TIM8, TIM16, TIM17, or TIM20.

Enable this parameter to output the current direction of the timer counter.

Enable this parameter to output the main output enable (MOE) bit status.

Dependencies

To enable this parameter, set the Timer module parameter to either TIM1, TIM8, TIM8, TIM16, TIM17, or TIM20.

Events

Enable this parameter to generate an update event through input port.

Enable this parameter to generate a capture compare event through the input port.

Dependencies

The number of Enable capture compare # generation event input parameters available depends on the module you select in the Timer module.

Enable this parameter to generate a trigger event through the input port.

Enable this parameter to generate a break event through the input port.

Dependencies

To enable this parameter, set the Timer module parameter to any one of the module TIM1, TIM8, TIM8, TIM16, TIM17, or TIM20.

Enable this parameter to generate a break 2 event through the input port.

Dependencies

To enable this parameter, set the Timer module parameter to any one of the module TIM1, TIM8, TIM8, TIM16, TIM17, or TIM20.

Enable this parameter to generate a capture compare event through the input port.

Dependencies

To enable this parameter, set the Timer module parameter to any one of the module TIM1, TIM8, TIM8, TIM16, TIM17, or TIM20.

Specify how often (in seconds) the status of enabled output ports are read if no input ports are selected. Enter a value greater than zero. When you specify this parameter as -1, Simulink® determines the best sample time for the block based on the block context within the model.

Dependencies

To enable the Sample time parameter, deselect all the input ports.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2022b